mcc's Forum Posts

  • 7 posts
  • Ashley: OK, that sounds good. Thanks

    You can't build a skyscraper without tearing the old house and its foundations apart.

    But what if you attach thousands of balloons to the old house, detaching it from its old location and lifting it safely to South America to fulfill a childhood dream?!

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • [quote:1zem8858]Also: the split GPL/BSD licensing you describe makes a lot of sense-- it does seem though like this would possibly prevent, for example, copying OpenGL rendering code out of the IDE and into a hypothetical exe exporter?

    Each source file has a license pasted at the top - and the renderer code is intentionally licensed BSD as well, for this purpose.

    Oh, that's great! Thanks for explaining.

    [quote:1zem8858][quote:1zem8858]Another small thing. A note in one of the files mentions GPL 3-- will it be GPL 3 only, then, or will GPL 2 be also available?

    I'm not actually clear on the difference between GPL 2 and 3 - if someone can describe exactly why GPL 3 would be a bad thing for Construct 2, I can re-license it to GPL 2.

    So, I will do my best-- Basically GPL 2 was very straightforward, it simply says that you may not distribute something based on the GPLed code unless you make the source GPL-available also. The goal of GPL 3 as I understood it however was that the FSF was beginning to get worried about various "backdoor" ways of closing off the openness of GPL code, such as patent nonsense, or putting the software onto hardware such as a Tivo or XBox which restricts what kind of binaries may be run (such that you could get the source to a piece of software, but not be able to compile or run it), or circumventing the GPL's requirements based on "distribution" entirely using a web service (that last thing they eventually addressed with a totally separate license called the AGPL). GPL3 therefore includes extra clauses to ensure source remains unencumbered even under unusual circumstances. However the criticism is that they went too far and added restrictions to GPL3 that either limit the freedom of code recipients or make it impossible to use GPL code at all in certain environments. For example the biggest criticism of GPL3 seems to be the new rules on patents; GPL2 had a simple rule that you simply were not allowed to use patent encumbered technologies in GPL code, however GPL3 in addition to this has an affirmative licensing clause where by distributing GPL3 code you are under certain circumstances actually granting patent licenses. This makes GPL3 radioactive for some businesses because by participating in distribution of GPL3 code they could be granting patent licenses accidentally. Of course patents are not very relevant to Construct, however a similar problem which may be more relevant is the elaborate "authorization keys" provision in section 6, which is intended to prevent the use of DRM and requires you for example to release any signing keys used to install a GPL3 program onto a device. So for example if the Construct2 IDE code is GPL3 then it would not be possible to run it on a piece of hardware that uses code signing, like an iPad or an XBox 360, because the GPL3 would require you to divulge the developer signing keys but under the iPad/360 developer agreements you would be barred from releasing (or may not even have access to) said keys. (Although note there is some controversy about using GPL2 software on iOS as well.)

    Because of these new restrictions some projects have declined to move forward to GPL3, most notably Linux is only available under GPL2. The Linux developers describe their reasons for rejecting GPL2 here (although note, that article was based on a draft version of GPL3 which may have been even more stringent); their general stance seems to be that the changes in GPL3 are not really necessary to ensure the freedom of software, and are more about using the wide install base of GPL software as a club to discourage certain unsavory software practices (submarine patents, software signing) which the FSF objects to as a political stance. I think I agree with what the Linux developers say here, but I find it kind of hard to say for sure if GPL3 is a good thing or not, which leads me to what I think the biggest problem with the GPL3-- I have had some trouble understanding exactly what it requires you to do! GPL2 is easy to understand and easy to follow. GPL3 contains many rules and some of them, it's ambiguous exactly when you are or are not in compliance. For this reason if no other I personally would be a little hesitant contributing to a GPL3-only project.

    What I would suggest doing is what many projects do. Use this boilerplate from the GPL FAQ:

    [quote:1zem8858]This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

    If you use the "version 2, or at your option any later version" language, then this means that users can treat your software as being under version 2 or version 3 of the GPL depending on what works best for them (and there are advantages to having the GPL3 option, for example it is compatible with the apache2 license where GPL2 is not). This gives your users maximum flexibility while still ensuring that your code retains GPL protections.

    Now of course if there's some specific thing in the GPL3 you like then it is not a big deal, use the license you are comfortable with. But you seem to be saying that you weren't familiar with GPL3 specifically and just wanted some GPL license, in which case I think the "2 or later" standard is probably the way to go.

    Hope this helps...

  • > what are the licensing terms on the code in the Construct 2 svn on SourceForge?

    >

    The editor is GPL, and the exporters are BSD. They're different because GPL forces derivative works to also be open source, but not so with BSD, so third party developers can copy code from the HTML5 exporter for their own exporters and still sell their work.

    Ashley, thanks. I ask because I am looking at the Construct 3 code and wondering about the feasibility of a Qt port (that is, I was considering attempting this myself at some point in the future) so that the IDE could run on Linux/Mac. This is possible so long as the license is compatible with GPL 2 or 3, so if you're using GPL to begin with then it is. Do you think any of the IDE code could be preserved in switching to Qt or is it all too bound to MFC?

    Also: the split GPL/BSD licensing you describe makes a lot of sense-- it does seem though like this would possibly prevent, for example, copying OpenGL rendering code out of the IDE and into a hypothetical exe exporter? (I realize this may actually be desirable from your perspective if you are still interested in selling the exe exporter yourself.)

    Another small thing. A note in one of the files mentions GPL 3-- will it be GPL 3 only, then, or will GPL 2 be also available? I ask because GPL 3 is severely more restrictive than GPL 3 in unusual and ambiguous ways. This can make people less comfortable with working with GPL 3 only code (I know one person who works at a major software company and is banned from even installing GPL 3 software on his work computer unless it has been cleared by the legal department, because they interpret GPL 3 unlike GPL 2 as placing some license restrictions on users of the product under certain contrived circumstances and the company wants to guarantee a random employee will not open them to liability) and can also prevent people from mixing GPL 2 and 3 code if the licensor of the GPL 2 code did not think to include the "or future versions of the GPL" clause.

  • Ashley, I don't know if you saw my post at the bottom of the page a few pages back-- what are the licensing terms on the code in the Construct 2 svn on SourceForge? (Please forgive me if this is addressed somewhere else already.)

  • Is WebGL something that could just be implemented by a third party like Flash or Shockwave?

    There is supposedly an activex plugin which embeds Chrome. The whole thing. If Chrome begins supporting WebGL out of the box (does it yet, I'm not sure) then this could be a way of tricking IE users into being able to use WebGL.

  • > I also noticed on the feature thread that apparently pixel shaders can't be used-- is there going to be some way to get equivalent effects?

    >

    It's unlikely there will be shaders in the HTML5 canvas. However, further down the road, WebGL may become part of HTML5 - it's essentially OpenGL running in a browser - and that could support shaders. However, WebGL needs to be supported by Microsoft's Internet Explorer to be a viable platform, and it's not clear Microsoft will ever support it. So while a WebGL exporter would be a really interesting project, it's not worth the risk of spending time on it until Microsoft come up with an implementation - and even if they did, it wouldn't be surprising if it was some incompatible "WebDirectX" system, which would complicate the exporter! Anyways, Canvas is the one with universal upcoming support at the moment, which is why the HTML5 exports to that.

    It seems also like a "cheap" way to get pixel shaders even in the absence of wide WebGL support would be a Flash exporter.

  • Hi! I was interested to discover this Construct 2 thing. I do C++ game development and I'm interested in tools that allow people to create cross platform games. (I have a cross platform PC+mac+linux+iphone toolset for C++ programmers, the most recent version of which is here.) I'm also curious about tools like GameMaker/Construct because, although they are not what I would prefer to use myself, I am interested in being able to collaborate with people who are more comfortable with these kinds of tools. I would someday like to have the option of making a game engine in C++ but still be able to integrate with game components designed by someone else in a GameMaker-like tool. So the idea of an open source GameMaker-alike is extremely attractive to me because it seems to make that possible.

    I poked at the Construct 2 Alpha and downloaded the source. It seems to have a good bit of progress already. I had a few questions.

    • I notice this list of "exporters", of which the only one so far is HTML5. Do I take this to mean that one could in theory create "exporters" to other platforms like Flash or exe? Is creating a new exporter a lot of work, the way the exporters work right now?
    • I notice the event handlers use a menu-based / "drag and drop programming" paradigm, like early versions of Flash or something. Is there an option to replace the drag and drop with a more conventional scripting language? How easy do you suppose it might be to retrofit such a thing in?
    • Are you interested in help porting to other platforms such as mac/linux, or creating exporters for iPhone or whatever?
    • I notice the game is "pay what you want". What license is the source code distributed under? I did not find a license file in svn.

    Thanks!

  • 7 posts