gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > Library licensing scheme

#142978 - Vich - Mon Oct 15, 2007 8:16 pm

I've been working on a some libraries for quite a few years now(a platform library, a GUI library and a graphics engine) and I want to get the licensing right.
All 3 projects currently have a GPL license active, but I want to offer more licenses so people have a bit more freedom.

I basically want 3 possible license directions:

- GPL
- Non-commercial license
- Commercial license

I'd like to have your thoughts on this. Suggestions are very welcome on how to handle things. I want to have a licensing scheme where:
- people can use the library
- people can learn from observe the code
- people can make modifications, but:
- people can't publish the source code and claim they wrote it
- people can't use the source code for commercial purposes (eg. making money from something I worked very hard on)

[removed license quote until further notice]

Any updates because of your feedback will be put into this start post.
_________________
[project website] [personal website]


Last edited by Vich on Tue Oct 16, 2007 3:05 pm; edited 7 times in total

#142983 - tepples - Mon Oct 15, 2007 9:16 pm

Or you could consider starting from the text of LGPLv3, which is an addendum to GPLv3 that permits something close to what you want.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#142988 - Vich - Mon Oct 15, 2007 9:49 pm

tepples wrote:
Or you could consider starting from the text of LGPLv3, which is an addendum to GPLv3 that permits something close to what you want.


I will investigate that tomorrow, thanks for that suggestion!
_________________
[project website] [personal website]

#143048 - mml - Tue Oct 16, 2007 11:06 am

As I understand, the LGPL (regardless of version) is supposed to be better in general for libraries than the GPL, since it's specifically designed to keep modifications to the library itself open but at the same time allow people to use the library in a non-GPL project without infecting their entire project.

#143052 - kusma - Tue Oct 16, 2007 11:48 am

mml wrote:
without infecting their entire project.

But it still does to some extent, as the application using the library should be possible to re-link with newer versions of the library. This requires either dynamic-linkage (not available for NDS homebrew) or distribution of a full set of linkable object files for the application.

#143053 - kusma - Tue Oct 16, 2007 11:54 am

Also as an additional note, the FSF advice against using LGPL. I kind of agree, but only because I prefer proper free software licenses.

#143066 - Vich - Tue Oct 16, 2007 2:29 pm

kusma wrote:
mml wrote:
without infecting their entire project.

But it still does to some extent, as the application using the library should be possible to re-link with newer versions of the library. This requires either dynamic-linkage (not available for NDS homebrew) or distribution of a full set of linkable object files for the application.

That's one of the problems.
LGPL also allows forking and I don't want that to happen.

kusma wrote:
Also as an additional note, the FSF advice against using LGPL. I kind of agree, but only because I prefer proper free software licenses.


Years of development went into the libraries I'm talking about, so I'm not just going to throw it on the street.
I don't mind to make it open-source(GPL) and give free 'usage' licenses to non-commercial projects, but I don't want forks of my projects and people making money out of something I don't get anything for.

[edit] I'll consider the zlib/png license for non-commercial projects. (and where derived projects must remain under that license)
[edit] Thank you wikipedia:
http://en.wikipedia.org/wiki/Comparison_of_free_software_licences
[edit] Quite interesting:
http://www.perlfoundation.org/artistic_license_2_0

[edit2] I've rephrased the start post.
_________________
[project website] [personal website]

#143319 - Vich - Fri Oct 19, 2007 3:06 pm

What about this non-commercial zlib/png license that I've hacked together? (changes are in bold)

Quote:
Copyright (c) <year> <copyright holders>

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,
excluding commercial applications and/or purposes, and to alter it and redistribute it
freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.

3. This notice may not be removed or altered from any source
distribution.


In this case I exclude commercial applications. Because the license states at the end, that the notice can't be removed, any derivate product of the software will keep the "non-commercial" notice.

I added "applications and/or purposes" because it might be arguable that a library is not an application. This could avoid that other people make a commercial version of the library and sell that.

What do you think?
_________________
[project website] [personal website]

#143324 - kusma - Fri Oct 19, 2007 3:56 pm

I think you lack a definition of what "commercial application and/or purposes" is.

#143326 - Vich - Fri Oct 19, 2007 4:03 pm

Thanks. I added a definition:

Quote:
Copyright (c) <year> <copyright holders>

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

"Commercial" refers to: for-profit and/or relating to a commerce, both directly or indirectly.

Permission is granted to anyone to use this software for any purpose, excluding Commercial applications and/or purposes, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.

3. This notice may not be removed or altered from any source distribution.


Would that be a good definition?
_________________
[project website] [personal website]

#143347 - tepples - Fri Oct 19, 2007 11:16 pm

If I develop a product under a non-commercial license and mention it on a CV that I use to get hired in a job where I am making commercial products, is that a violation?

You might want to adapt the non-commercial clause from the Creative Commons -nc licenses.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#143350 - Vich - Fri Oct 19, 2007 11:59 pm

Thanks for your input Tepples. Here are the modifications. I've also added a better description of "Software":

Quote:
Copyright (c) <year> <copyright holders>

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

"Commercial" refers to: any subject that is primarily intended for or directed toward commercial advantage or private monetary compensation.

"Software" describes: the source code, binary files, project files and documentation.

Permission is granted to anyone to use this Software for any purpose, excluding Commercial applications and/or purposes, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this Software must not be misrepresented; you must not claim that you wrote the original Software. If you use this Software in a product, an acknowledgment in the product documentation would be appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original Software.

3. This notice may not be removed or altered from any source distribution.

_________________
[project website] [personal website]