How to licence my open-source game engine for proprietary game [closed] - open-source

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I'm developing a puzzle game that's going to be based on my own game engine.
My intention is to make the game engine open-source (including some demos) while the game itself (levels, textures, level editor, ...) to be paid.
What's worrying me is what type of license for the game engine should I use?
I think this is similar to original DOOM source code re-release in 1999 under GPL licence. You can do whatever you want with it but if you want to play the original game you need the DOOM.WAD file which you can legaly obtain only by buying the original game.
So, can I use GPL? I think it means that all software build on top of it has to stay GPL. But maybe in my case it doesn't matter because I'm not going to make changes to the engine that wouldn't be also in the standalone game engine.

IANAL
The GPL only applies if you're linking non-GPL code with GPL code. Using the software does not affect your obligations to change your license (for example, code compiled with GCC doesn't have to be GPL).
I'd recommend doing one of the following:
Dual-license game engine GPL and proprietary
give yourself proprietary license when packaging the game engine with the game itself
License the game engine LGPL
can link your game engine into your game without open sourcing the game
If your "game" only consists of level packs and other resources (no code linked with game engine), the GPL is completely ok.
As author, you currently have all rights to the source. If you take someone else's code that they've copyrighted, you cannot relicense that code under a proprietary license.

Related

Is there a platform porting guide for Chilli Source? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I have been planning to start porting Chilli Source to Linux but haven't found clear info on what needs to be done to port Chilli Source to a new platform.
Is there a guide for it explaining how to do it or where to look?
-Where the platform specific implementations get "selected" in the code?
-What are the bare minimum systems that a platform needs to implement and the interface they must implement?
-How to add an extra target to the project generator?
-What needs to be pre-compiled as a library and where to place them?
Basically a guide possibly with one of the existing platforms as an example would be fantastic. If not just some highlights as to where in the git repo to look for answers would be welcomed.
Thank you!
A full tutorial describing how to port the engine to other platforms is a bit beyond the scope of what can be provided here, however I can give a quick overview.
A platform backend essentially consists of:
The entry point to the application
Window creation
OpenGL context creation
An implementation of each platform specific system.
The Windows backend is a pretty good example of this: you can see the entry point to the engine in Main.cpp and the window/context creation (using SFML) in SFMLWindow.cpp.
Platform specific systems are declared abstract, requiring each platform backend to implement their own version of it. All systems are created via the Create() factory method, using the creation of the platform specific concrete system is hidden from the user. A nice clean example of this is the DialogueBoxSystem.
Only default systems require implementation on every platform - those that are created in Application::CreateDefaultSystems(). Current, this would require implementation of:
PlatformSystem
Device
Screen
FileSystem
DialogueBoxSystem
Keyboard (Only required on systems which have hardware keyboards)
PointerSystem
DeviceButtonSystem
TextEntry
The Create() factory method should return nullptr on any platform which doesn't implement the system.
Finally, you'll need to build the CSBase library for the new platform - this provides all of the third party code used by the engine: libPng, rapidxml, etc.
Hopefully that should be enough to point you in the right direction. It's also worth checking out Fzort's fork of CS which he has had running on linux: https://github.com/fzort/ChilliSource

Using GNU Lesser General Public License to develop cloud-based server system [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
Let's say we are planning to use an open source project under GNU Lesser General Public License to develop a cloud-based social networking system (a web-based system having horizontaly scalable databases as back end). The completed application will be closed sourced.
So, if we use the source code licensed under GNU Lesser General Public License, or even if we modify it, are we allowed to do that (ie. are we violating the license if our completed product will be closed source.)
The completed application will be commercial based - BUT we are not selling any packaged product - and we will make profits by advertising or download apps, for example.
Yes, you can use modified sources for GPL or LGPL software in your cloud service. You only need to publish your modifications if you distribute the binaries.
This "loophole" is closed by the AGPL.
Yes, if your code is just linked to LGPL software, it can be distributed under a privative license.
However, if you do any modification to the LGPL software you must distribute it in source form if you distribute it at all. This does not include the part of your code that is only linked to (but not compiled together with) the LPGL software. On the other hand, if you do not distribute it at all, you do not have to distribute the sources. This is what some websearch companies do with their modified versions of the linux kernel, and this may be your case if your application is a kind of software-as-a-service application.

Type of license for open source .Net app, which uses some Microsoft api [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
Let's say that I want to develop an app using .Net and Microsoft UccApi. I'd like to make it open source. Am I eligable to do it? What type of open source license must I use? What limitations must I keep in mind?
Open source licenses impose constraints on the way in which a given software can be distributed. The fact that you are using a Microsoft based product to develop your software does not pose any particular restriction on the distribution of software that you are developing. You are free to do as you want. To choose an appropriate license you must consider the restrictions that are associated to each specific license and choose whatever option is best for you. I'll give a few rough examples just to give an overview:
Do you want just to be recognized for developing the software and you do not expect anything else? It is fine if someone takes your software, modifies it without distributing the improvements and the sells it as a commercial software? Then evaluate BSD or MIT or Apache licenses.
Are you fine if someone embeds your software as a statically linked library, even in a commercial project, but you would like all improvements to your original software to be distributed back to you? Then evaluate a LGPL license.
You want to "contribute to the community" and you would like that evey work derived from your software should be a "community contribution too". In this case choose a GPL. Every software derived from yours must be open sourced as well. Note that this does not prevent someone from selling the derived software when he publishes the source code.
If you don't want in any case that your software could be part of a commercial product then you must explicitly disallow it in your license.

Can EPL (Eclipse Public Licence) be used in commercial context? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I'm developing an application which requires a third party framework which is under an Eclipse Public Licence (EPL). The application is a server-side commercial application which will be running on my servers. The EPL software is distributed as binaries (jar files). I'm only using the packages and am not making any contribution, i.e. not making any changes to the source.
Under EPL I believe I'm not a "Contributor" nor am I making a "Contribution". But if I want to make my software available to be installed at some offsite server I'm having trouble with REQUIREMENTS of EPL:
b.iv - "states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange".
Does this mean that if I where to modify the source code of the 3rd party framework for my own purposes I would need to distribute all of my source code?
EPL is supposed to be commercially friendly but it doesn't seem that way to me.
The way that I understand your question is "If I change part of the framework, do I need to redistribute all of the source code of my application, even the parts that aren't part of the framework?". If that is the proper interpretation of your question, then no, you do not need to distribute all the code of your application.
EPL is a weak copyleft license, however it is a non-viral copyleft so it only applies to the source of what was EPL'ed, not to what you build on top of the EPL project. Thus, it does not require that you distribute the source to your application, only the changes made to the framework itself. The terms of the EPL only apply to the source of the library, not the source of your application. Your application's code will governed by its own license (as you are not redistributing it, ostensibly a simple "I own all the rights to this code" license).
Basically, as long as you are not using a library governed by a fully copyleft license, then you should be fine.
Disclaimer: I am not a lawyer. Do not take this as real legal advice.

Do I have to open source my project if I use a piece of code licensed under GPL as a part of my project? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
If there is a javascript library that is licensed under a Copyleft license like the GPL, what must I do to use it? Would I have to make my whole website open source just because I used that javascript library?
It seems that this is still a matter of debate. The stance taken by the Free Software Foundation, which holds all of the GPL copyrights and enforces them, is that any code that links with GPL code, whether statically or dynamically, must also be under the GPL. So in this case, yes you would have to open source your project - but only if you were to distribute it at all. Nothing is forcing you to distribute your code.
So I would agree that you're ok with using it. Personally, I wouldn't use any GPL code in a website that sells anything as part of a for-profit company, even though it's probably legal too (it's likely considered the "output" of the code). The realm of free software licenses in regards to web code is still not completely clear, so I try to follow the spirit of the rules when I can.
I'm not a lawyer so take my advice with the grains kilotonne of salt it deserves. From the GPL:
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
...
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.
So I would take this to mean, no, only the used library has to stay under the GPL as per the license. The license stipulates it must be displayed and unchanged, that is all.