GPL-protected libraries

Started by
22 comments, last by MatrixCubed 21 years, 9 months ago
Hello community, What are your thoughts and concerns regarding utilizing GPL-protected libraries in your games? I had been considering using OpenAL and SDL in my own games, until I had considered the implications of the GPL (and at the time immediately became disgusted, biased against it, and turned off from it). At this point, I consider GPL a From what I can tell, it has the following going for it: - Rapid game development: One can get even more complex games up and running within an afternoon (provided media like graphics and sounds are at hand). - "Community" interaction: Usually, it seems GPL protected projects are worked on by a number of users, which may or may not accelerate its growth from "nothing" to "advanced". - Attraction for hobbyist developers: It also seems this sort of project (if powerful and dynamic enough) increases its own popularity by the number of developers that implement it in their own games. However, there are a few (what I consider) really nasty things that could deterr one from using such libraries: - Instant open-source: If I don''t like sharing my code, I''m essentially stuck developing my own libraries. Not that I have a problem with this; I have at least mildly touched on numerous of programming (short of 3D scene management, which I am sure will manifest itself for me in the coming year). - No income: One really can''t make a living from GPL libraries (either by developing them or using them in other projects that could potentially sell), so unless one is a hobbyist game developer (as opposed to a more business-oriented career game developer), even thinking of GPL libraries is a bad idea. - Propogation of poor coding habits, and potential stagnation of projects due to lack of coherency between development team members: If a project is not standardized, or without a clear leader to whom the other team members "pledge allegiance", a project could very easily spiral into disaster and mayhem. (Of course, the flipside of this is that the projects that DO survive are likely of higher quality because the team members are able to establish and meet goals.) What are your thoughts on the above? I hope I have presented myself in a fair manner (despite the fact that I am biased against GPL ). Note too that I am not against certain forms of open-sourcing; I have made and do make some of my own projects open-source simply because I wanted to share. MatrixCubed
http://MatrixCubed.cjb.net
Advertisement
SDL and OpenAL are under the LGPL license, not the GPL. There is a big difference. LGPL is short for Lesser General Public License, and allows you to dynamically link your code to the LGPL''ed code without having to release your code under the LGPL (however if you incorporate LGPL''ed code into your project by other means than dynamic linking, then you must release your code under the LGPL as well).

You should really read the license (or at least the ''summary'' on gnu.org) before making such statements.
Isn''t the LGPL officially discouraged...?
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
quote:Original post by Arild Fines
Isn''t the LGPL officially discouraged...?

Yeah, but who in their right mind listens to RMS anyway?

GPL has its uses, as does LGPL. The unfortunate reality RMS and his cohorts simply cannot come to see is that our society is built on commerce, and intellectual property is a resultant necessity. That''s where Open Source and Free Software split: Free Software (in the words of RMS) believes that "software wants to be Free", that free acquisition and unrestricted use (other than not permitting a user/distributor to institute restrictions on others) are morally right. Open Source seeks to find compromise between the practical benefits of peer review ("given enough eyes, all bugs are shallow") and source accessibility and the fiscal motivations of proprietary code. ESR even gives examples of when not to go Open Source in some of his essays.

The result of all this is a plethora of Open Source licenses (the GPL remains the most popular, because that''s what the Linux kernel is under) including the Mozilla Public License, the Sun Community License... even the BSD license qualified (find related information at the Open Source Definition). In other words, there is often a non-GPL substitute that can work for you. OGRE, for example, is currently GPL but the author plans on a shareware-friendly license for licensees who are unwilling or uncomfortable releasing their source.
Hey MatrixCubed.

You seem to be going through the same denial/disgust phase I went through, when I thought of GPL as a plague that spreads uncontrollably...

Anyway, I'm seeing the light and even considering ways of making profit from GPL, but I'll stick to your concerns for the moment.

> "If I don't like sharing my code, I'm essentially stuck developing my own libraries."

Yes, and that sounds more than fair. The community and library developers may have put a terrific amount of work into their projects, and they won't appreciate you making money from their work unless you contribute back.

Generally, such developers are open to offers. If you pay them, you can usually get an unrestricted license -- or otherwise convince them that it's in their interest for you to not open your source.

> "One really can't make a living from GPL libraries."

This is mostly a myth. Read all three of Eric Raymond's essays, but most importantly 'The Magic Cauldron' (google it). Generally, the code is not what you pay your money for. Taking examples...
  • Take Quake 2 for example. ID is still selling that in stores, the data is still restricted despite the source being open.

  • Take NEL for example. Nevrax is building an entire MMORPG engine library in GPL for their game, and intending to make big money from it.

  • Take Red Hat for example, selling documentation, printed CD, box sets and customer support.


> "Propogation of poor coding habits, and potential stagnation of projects due to lack of coherency between development team members"

This has nothing to do with GPL, a commercial library is just as likely to spiral out of control. I'd even argue, that OS is a better, more reliable form of development. More people use open code, so bugs are more likely to be fixed; design is criticised by more people, and as long as the big boss stays on top of things, the project will thrive. If it doesn't, rival OS projects can establish themselves too (either forking the existing work by mutual consent, or starting from scratch).


GPL is generally a good license, and does a relatively good job of protecting the rights of either party involved. If you don't like it, get your wallet out


Artificial Intelligence Depot - Maybe it's not all about graphics...

[edited by - alexjc on June 23, 2002 1:51:36 PM]

Join us in Vienna for the nucl.ai Conference 2015, on July 20-22... Don't miss it!

The money thing, I''ll grant that there are ways to make money, but it''s not easy, you seem to make less, and most importantly for me, none of the business models I''ve seen would work well for the hobbyist moving to small indie, neither of whom have any capital.

"If I don''t like sharing my code,"
This is the truly evil part of the GPL. Remember, these are libraries, not complete programs. I know these licenses are for the developers protection, but what of my work? I can''t use libraries as-is, I have to write additional code. The GPL takes away my rights to this code, to my own work. As a programmer I am horrified at the thought of my work being stolen and stripped bare. I worked on this code, it is my property, and under the license I am forced to give it away. The GPL and all who download hereafter steal my work. It doesn''t matter what kind of property it is, a car, a truck, a house, jewels, code, taking it away is an assault on the sense of self, dignity, being an individual, and having any rights.

quote:> "If I don''t like sharing my code, I''m essentially stuck developing my own libraries."

Yes, and that sounds more than fair. The community and library developers may have put a terrific amount of work into their projects, and they won''t appreciate you making money from their work unless you contribute back.


Very true, but these developers decided to share their work with the community. If they really wanted to make money off of this or to receive any compensation other than appreciation for the work and their talents why put it under the GPL? If they are only after that appreciation, then why not measure the success of their work in dollars made by the people who use their software as well, not just downloads?

In other words, if they put it under GPL they probably didn''t expect any money anyway, so why should they get upset if I make a little money using their software? That''s the point of sharing. You share software in the hopes that others will use it. Why share software if you are going to restrict the way that people can use it? The GPL is effectively saying to users from developers, "Here is a gift, but it''s not really a gift because you can''t do what you want to do with it."
quote:Original post by Anonymous Poster
The GPL takes away my rights to this code, to my own work.

Rubbish. Your "won work" is based on someone else''s work, and the GPL is designed to ensure that you don''t "embrace and extend" the original developer''s intellectual property, then close it off and deny other developers/end users the freedoms you had.

quote:
As a programmer I am horrified at the thought of my work being stolen and stripped bare.

Excuse you?! "Stolen"? The GPL told you beforehand that "if you use this in your own code, you''ll have to make it GPL as well." If you then chose to go ahead, you did so voluntarily - ergo, you gave away your code while maintaining ownership rights (copyright is not muted by the GPL).

quote:
Very true, but these developers decided to share their work with the community. If they really wanted to make money off of this or to receive any compensation other than appreciation for the work and their talents why put it under the GPL?

So that corporations with deep pockets don''t take what was once freely available, add a host of features and then close it off to potential developers. It happened with UNIX. It happened with Microsoft (Kerberos, anyone?)

quote:
Why share software if you are going to restrict the way that people can use it?

Why sell software if you''re going to restrict the way that people can use it? Or perhaps you haven''t actually read an EULA recently.

Your opinions are misinformed and malformed - a true tragedy of misunderstanding and/or ignorance. I suggest you learn about the pertinent issues (particularly intellectual property law, copyright and the history of the Free Software Foudnation/GNU) before you comment further.
amen, many ppl dont understand GPL. it does not force you to use the code. you dont have to use code from GPL''d apps/libraries if you dont like the apsect of having to allow your program to go under GPL. its known before you start using anything that is under GPL that you must release the source to yoru work as well. thus its like you spent time coding stuff and this just became apparent. if this is the case you should learn to read the liscence agreement that comes with the source, since in either case its still copywrite protected and you could not use the code anyway, code does not automagically become public domain unless the auther is dead for at least 50yrs (or is it 75 now?) of that the author EXPLICITLY states its under public domain.

if you feel that you have the right to use GPL code without releasing your source code to anyone who has LEGAL access to the binary (a major point MANY open source ppl seem to neglect as well as others). this basically means that your code branch can be sold, yet only those who purchase the cd with the executable on it can have access to the source. they CANNOT legally distribute the code/executable to hwoever they wish and would be breaking the law just as if you were to keep your code closed source while still using GPL code.

the reason ppl put their code under GPL is that they feel that anyone suing the code should contribute the project since the original authors did so much work on the code themselves. the authors are actually giving up rights by letting you use their code. since after all its copyrighted and you coudl not use the code unless they place it under GPL or make it public domain. the problem with public domain code is that you dont even have to give credit to the original author. furthermore large compaines could use the hardwork done by the open source community without having to "give back to the community". though if the app is not public (ie within the company only) the community would never see the code changes anyway since only ppl within the company have legal access to the executable thus are the only ones legally allowed to use and modify the source code. again, a major thing MANY open source advocates seem to ignore.

though this is all moot, since SDL and OpenAL are both under LGPL since they wish to remain competive with directx on the win32 platform. so you can use the library if you dynamically link it. any changes made to the LGPL library MUST be made public and the source code to those changes MUST be made availible.

also all the things mentioned that are bad about GPL can be applied to ANY liscence, as such are moot. instant open source could become, you must pay royalties to the company producing the library. no income, could become still no income. propogation of poor coding habits? well if you code bad then you are helping in this matter are you not? ANY project in which there are multiple coders, a problem of different styles creeps in. though open source apps tend to be somewhat "messier" due to supporting many platforms. something i think most ppl can live with.

also just because many ppl are working on the code, does not mean their code gets placed in official versions. the main developers decide what code stays or not. ppl submit patches, and then coders working on the project see if they fix what is needed and decide if its done in a good manner. the code could be rejected or rewitten. furthermore, if someone dislikes how things are going with the project, they could branch the project off and make their own version. maybe removing bloated features or maybe even adding some extras that the main developers feel should not be a part of the official original project. this is the true power of GPL, and it is why ppl like it so much. granted it does create some mulitple standards issues, but they are ussually not too bad since ussually at the core they are pretty similar.
quote:If they really wanted to make money off of this or to receive any compensation other than appreciation for the work and their talents why put it under the GPL?


It''s not a fine line between being friendly, and promiscuous -- ask your average girl. A library is the same, respectively under the GPL and LGPL. In one case, you have to be friendly back, and show interest if you expect any favours; in the other case, you can get away with almost anything (nymphomaniacs )

True, most developers release under GPL because they see everyone else do it, and don''t understand it. But others do it because they want to keep their rights, and not get abused anally by some megalomaniac hobby coder. GPL does a great job of that.




Artificial Intelligence Depot - Maybe it''s not all about graphics...

Join us in Vienna for the nucl.ai Conference 2015, on July 20-22... Don't miss it!

I suppose I may have been taking the concept into the wrong light; from the start I was comparing nGPL''d projects to copyrighted free libraries (which mine tend to mograte to once they''re complete).

For example, one of the prominent ones would be DirectX; Microsoft devises a catch-22 whereby their DX product is free to use in your own applications, however its use propogates Microsoft''s intentions of extending peoples'' use of the Windows platform by limiting the end-product game to it. Same for EAX (limitation to EAX-compatible Sound Blaster hardware, which are mostly produced by Creative).

So where does one draw the line between "innovation" and "innovative use of someone else''s work"? There doesn''t appear to be as many of the latter as the former in the PC- and game-development-world. (By this, I mean something that is not based on a previous work.)

One must also be careful of considering making reference to being "forced" to license anything under GPL (as per AP above); it''s a matter of personal choice, not predetermined destiny.

In all honesty, I would rather have access to a closed-source project that is author-copyrighted but free from royalties, than self-propogating pseudo-freeware. It just makes sense to me to be able to make a living off my ideas that I put into code which results in a final project ... even if the ideas appear as "innovative use of someone else''s work". Game developers have been doing it since the dawn of APIs.



MatrixCubed
http://MatrixCubed.cjb.net

This topic is closed to new replies.

Advertisement