Game Development Community

Page «Previous 1 2
#1
12/15/2003 (3:25 pm)
I read that too... but it doesn't mean much.

If you aren't wanting to release your source code to the public, don't use GPL'ed libraries. All this means is that if you don't abide by the terms of the agreement, they can sue you for copyright infringement, but they can't force you to release your source.

Either way, it's still viral. The question is only what they can do to enforce it.
#2
12/15/2003 (4:09 pm)
What the author doesn't seem to realize is that it's business reasons that cause the real issue.

If you discover you're using GPL code inappropriately, you are forced to open your source or take your product off the market, and most businesses would have trouble if their product went off the market for even a short period of time.
#3
12/15/2003 (5:49 pm)
Of course, you face the same problem if you plagiarize code from any other source without permission.

@Jay - incidentally, most libraries are LGPL'ed, which is an entirely different beast. A few, like readline, are GPL, but a lot of useful ones, like ODE, are LGPL.

The GPL is no more viral than any other license.
#4
12/15/2003 (6:15 pm)
Barney: Um, as compaired to, say, BSD license? :-)
#5
12/15/2003 (6:48 pm)
ODE can also be used under BSD.

And I disagree about the GPL being no more viral than other licenses. If I link to BSD, MIT, X, Artistic License, etc code there are no obligations on my code. I can keep it secret, I can choose the same license the linked code is under, or in most cases, I can mix and match (use MIT code, release my code as BSD). The one major exception to mixing and matching is the GPL... If I link to a GPL library, I absolutely must release my entire source code under the GPL, and I cannot use any libraries that are licensed under terms that are incompatible with the GPL (no mixing a GPL 3D rendering library with, say, a commercial closed-source sound library).

How is that not more viral?

Keep in mind, I think developers are fully within their rights to release their code as GPL and everyone else must (morally and legally) abide by their choice of licensing terms, but at the same time I tend to avoid GPL code like the plague because it biases its "freedom" too much to the code and not the developer. I want to be free to use my code how, when and where I want to use it, thus I won't allow it to be tainted by GPL code where those decisions are made for me. There's nothing *wrong* with GPL code, it just isn't for me. The trade off just isn't worth it, IMO. So I'll just make do without GPL code, whether that means using my own code, or code licensed under some other Open Source license.
#6
12/15/2003 (7:07 pm)
You make it sound like the act of linking with GPL code is the same as uploading the full source of your program to a worldwide FTP network... If you don't want the terms of the license, you can always remove the GPLed code, or negotiate an agreement with the copyright holders.

Anyway, you bring up a good point vis a vis linking GPL code with non-GPL code. That said, most middleware is released under the LGPL. CrystalSpace and OGRE are both LGPL, OpenAL is a library standard (thus not affected by GPL). MySQL is available under non-GPL licensing for a small fee...

Anyway, I guess my point is (in both this post and the earlier ones), that by and large the GPL isn't a force that exists to steal people's code out from under them, but rather to ensure that code which was released as free remains so.

I guess it is a bit viral, but I think it has to be so to do what it does. If it didn't tend to expand its coverage, then it would be easy to turn free code into non-free code.

(Hey Davis... who's barney?)
#7
12/15/2003 (7:33 pm)
OK, lemmie expand upon that smart-ass comment a bit. GPL is indeed one of the most viral licenses out there. And it's intended to be - it defends a very specific philosophy. Have a discussion with RMS sometime and the 'whys' of how it works become apparent. (mine was via email - there was an issue with an Open Source project I was working on concerning scripts created with the Open Source scripting engine we were exploring - were those automagically under the GPL or not? That was the question, and he answered it, among other things.) He has a very... well, communist (but not in a bad way) viewpoint about things, and I can understand it. He's doing his bit to prevent from ever being stuck in the situation that lead to the GPL in the first place.

Some other licenses to do the same thing (Modified GPL type stuff). Some are less restrictive, and have advertising clauses. Some have no restrictions whatsoever. I prefer going one of two ways with things, personally: BSD style, where anyone can use it for anything, or a setup like Torque has where people have access to the source, but, cannot redistribute. The GPL is just too in between for me anymore (restrictive freedoms and source code access all under guise of Free As In Speach), but everyone has thier opinion :-)

To anyone who uses anything with anything beyond just a public domain program with source code: Stop using it. Read the license. Don't read articles ABOUT the license. Don't skim over it. Read it and understand it. Then think about how it applies to your application. Then decide if it's within your comfort area to use it.

One of the intersting things that happened because someone didn't read the license (I've ran into A LOT of people who use the GPL, and know nothing about it) was a project I contributed to lost out on an opportunity. Someone came along, bundedled the whole thing with sets of skins, services, support, hosting, etc. for a fairly reasonable price. One of the long standing group memebers called him a thief, threatned him with legal action, etc. I appologiezed to the guy who did the bundling (who knew the GPL by heart), and had to quote chapter and verse of the GPL. He hadn't read it, but, had made significant contributions to GPL projects over the years. Stuff like that just irks me. Ever since then, I shout "READ THE F.....er... FINE LICENSE!" every time someone is listening. Then I follow it up with "Understand That Fine License!" right after that. People still tend to do neither. (Some people who have asked questions in the GG forums after licensing Torque have shown that they did the same thing here too.)

(I was cooking supper while I wrote this rant - so there's been at least one reply since then...)

Ben:
Quote:I guess it is a bit viral, but I think it has to be so to do what it does. If it didn\\\'t tend to expand its coverage, then it would be easy to turn free code into non-free code.
Wrong on all points, Ben. I'm not pickin' on ya or trying to be harsh, but I think you missunderstand:

1) Once a license is applied, free code cannot be turned into non-free code. Why? Because - unless you hunt down each and every copy of the existing licensed code, and elimintate it. Otherwise, there will always be a free branch of the code that exists. Essentially, once it's gone free, it can never go back. Sure, a company can produce a non-free version. MS did it with the TCP stack from BSD at one point. Did the original BSC version magically disappear? Nope. It's still free. It's still stable. And it's still being tweaked from time to time.
--> Next post...
#8
12/15/2003 (7:34 pm)
(Continued - I hit The Wall for post size again... ;-)

2) Expansion of coverage has nothing to do with trying to protect the original code base, and has everything to do with expanding the number of GPL programs in existence. Huge difference. Read RMS's LGPL licensing terms to get a better understanding of the thinking, and follow it up with Why You Shouldn't Use LGPL In Your Next Library (also from the Free Software Foundation) for a full understanding. The GPL isn't about protection for a single codebase, it's about protection of a philosophy by extending it's self. That also negates part of your previous paragraph too - it does exist to Make Information Free (er, RMS's version of free.) There is indeed a strategy behind what RMS and the FSF released as GPL and what got released as LGPL.

If it sounds like I don't like the GPL... actually, I do. I admire the fact that it works pretty much as planned, and has continued to be a force for good IMHO.

(Note: Dispite talking about the GPL, I use the term Open Source. Another no-no when talking to RMS, it's "Free Software". I said Open Source, and pissed him off. He pissed me off, and now I no longer use Free Software, and refuse to use GNU/Linux as a viable term for describing Linux ;-)
#9
12/15/2003 (7:47 pm)
Barney is a... abreviation for... um... Ben Garney... yeah, that's the ticket!

You also make another assumption I missed hitting on:
Quote:You make it sound like the act of linking with GPL code is the same as uploading the full source of your program to a worldwide FTP network... If you don't want the terms of the license, you can always remove the GPLed code, or negotiate an agreement with the copyright holders.
When you incorporate a GPL'ed product or link to it, you are indeed fine - right until you release a binary. The GPL DEMANDS that you make the source code available to any holders of the binary (note: You don't have to make it available to everyone, just holders of the binary. But, since they have the source and the binary that's under GPL which allows for redistribution, it cascades downhill from there producing the same net effect.)

And don't think that getting the rights is going to be feasable. Many projects have too many contributors, each of which have to be contacted. Most projects only have 5 or 6 main developers, and then a ton of contributors - just look at the number of people who have contributed something to HEAD at one time or another.

But then there's the Zealot Effect. Kinda like the /. Effect, but it happens to your business instead of webserver. You make a mistake with the GPL, and you've got 2 million screaming Zealots calling you bad buy number 1 now, and the transgression is not easily forgotten. However, credit where credit is due, the last couple o' times /. posted about a potential GPL violation, the response has been MUCH more reasonable than it used to. Sure, there's still 2 million Zealots, but, there's also a good number of vocal people who speak up and say things like "Wait a minute - let's hear thier side. This could be an honest mistake."

Making a mistake with the GPL has further reaching implications than just legal issues.
#10
12/15/2003 (8:25 pm)
Vampiric would be a better term to describe GPL!
#11
12/15/2003 (8:31 pm)
Some good points. I'm not sure that I agree with them, but they were well and fairly said. :)

I'll work in reverse order.

I can't argue about the Zealot Effect too much. I don't think it has much effect beyond a certain hardcore market. If I'm making the Sims, most of my market won't care if I rip off Apache, MySQL, Slashcode, and the Linux kernel to make it. On the other hand, if I'm making Q3A, it might be a good idea to steer clear... :)

I make these statements off of observations I made in high school. I saw that the administrators - even the administrators in district IT - didn't know or care that much about free software. They gladly shelled out millions for things they could get for free with a little work... Free software is slowly becoming a more important issue, but it remains very peripheral to many.

Next, the incorporation of GPL code into your products. There is one very significant market where you can freely do what you like with GPL software. This is the services market. If I am selling you a service - like a hospital management service, or a website, or data warehousing - I am not distributing my binaries to you, and accordingly, am not under the GPL's jurisdiction. In this case, I can mix code licenses as much as I like, and it doesn't matter (from a license perspective - other laws might apply).

You're right about the cascade of the GPL.

As for getting rights - it's more feasible than you might think, especially with cvs blame logs. All you have to do is get permission from as many people as you can, and reimplement the parts you can't get permission for. They did this for MySQL, for instance. Other projects have done similar tricks. Many big projects nowadays require contributors to assign their copyright to a non-profit that represents the project - this keeps the project from being derailed by code from illegal sources.

As you say, most projects revolve around a core group of five or six developers; if you van get 90% coverage from those people, then reimplementing the remaining 10% isn't as big a deal.


As for the viral comment... Ultimately, the GPL has to err on the side of either extending itself to new things, or releasing old things from its hold. As you say, it's a philosophical statement as much as anything else; RMS isn't about to let Free code back into anyone's hands, so the GPL errs on the side of taking code rather than releasing it. I think that based on the origins of the GPL this is perfectly reasonable.

Does it make the GPL viral? Sure, from a certain point of view. But is it going to bring about the collapse of the concept of "legal ownership of software" as we know it? By no means. RMS might like that, but too many people want to own their code for it to catch on, especially with things like the LGPL around.
#12
12/15/2003 (8:32 pm)
All good stuff... Davis, I really enjoyed reading your post(s).

My viewpoint: Open Sources (including GPL) are far more interesting than Closed Sources... It's amazing the amount of talent/work being applied in this manner.

As long as your product isn't solely source code (ie. game content), go for it! Coders of the world unite!!!

-J
#13
12/15/2003 (8:46 pm)
Joshua: Man, I totally agree :-) World Domination Through Collaboration! :-) (I hope they come up with something as cool and meaningful as that one for next year's IGC T-Shirts! Plus, well, my current one is getting faded from to much wear. :-)

Ben: Absolutely. Do what you want with services. In fact, this is the one area where I do find the GPL to be the most useful.

I also agree it's not going to bring the downfall of "Legal Ownership Of Software" (I really think you miss-phrased that - I mean, GPL doesn't prevent ownership. Let's just call it "Closed Source" or "Proprietary Software", and move on before I write another 10 pages on that one phrase ;-)

I could debate this one on and on... from the point of how easy it is to contact people who contributed to a project (I can get ahold of 3 of the contributors to AllianceOS pretty easily - Ric van Riel hasn't changed email addresses in years for instance. But all the contributing members? Sheesh - that's an interesting task, and there were only 30 people involved. A popular project? Eh... I care not to think. Yes, it's feasable. Is it something that you would spend a great deal of time, energy, and effort doing? Yep.) Volumes (besides what I just wrote ;-) can be / and have been written about the GPL, LGPL, Artistic License, etc., it's affects on software development, it's affects on business, etc. It's a huge deal. I'm personally glad to see it happen, even if I'm not the biggest defender of the GPL.
#14
12/15/2003 (10:13 pm)
One of the problems with going GPL is that it does restrict your other options - you can't mix a GPL library with, say, Torque.

I think it IS possible to do a commercial game with GPL... but you'd be charging people not just for the binary / executable, but for the CONTENT. Sure, it makes it that much easier for someone else to build his own content using your "engine"... but let's face it: Indies don't have the budget to turn our game code into masterpieces of technological wizardry. Most game developers would probably be just as well off doing their own code from scratch. After all... right now ANYBODY could go and do this using the Quake II engine! Using that as a base, you could create a commercial game, sell it in retail stores... just for making your source code available for free. Why don't people do it? Sure, the engine is outdated, but it's not like indies are doing state-of-the-art anyway?

That being said ... I don't think *I* will ever be doing a project with GPL'ed code. LGPL, maybe --- I don't feel my additons to a dynamic library would undermine my competitive advantage. But for the most part, I'll stick with the BSD-style licensing and try and contribute my own code to the world at large as it makes sense. Particularly with code for TOOLS. I use open source tools quite a bit, and would like to help make sure others have a similar advantage in the future.
#15
12/15/2003 (10:26 pm)
Jay: I've considered that approach a couple of times. And I keep heasitating at it. While I'm not a big believer in Security Through Obscurity, I'm still reluctant to hand over all my code to a community to see how many people try and ferret out every possible cheat (and it's SOOOOoo much easier with the code available ;-)

Oh, and you MIGHT offend a couple of people with:
Quote:but it's not like indies are doing state-of-the-art anyway?
Some people are striving for that. I ain't - I like nice, short, run anywhere game products. Of course, I've yet to DO that - all of my existing games run on Windows, and Trajectory Zone's development has been ANYTHING but short ;-)

Indie != Small. Indie != Old Tech only. :-)
#16
12/16/2003 (6:09 am)
Quake II is a different beast and probably a bad example in this case, the GPL version is there mostly for learning and PR purposes, there is a very viable option of going closed source for a fee. Most GPL projects as Davis mentioned earlier don't have this as a reasonable alternative.

I think there is a reason there are so many license deriviatives. Take for example CatMother, the source is under BSD and the example content ( models and textures ) are GPL. If you read and understand the licenses you realize why.
#17
12/16/2003 (8:17 am)
The possibility with Quake II (ie commercial licensing) also exists with all the GNU Free Software, or at least everything hosted by the FSF (unless it has changed), you can also license the software for proprietary uses for a privately negotiated fee..
#18
12/16/2003 (8:54 am)
Davis - Okay, admittedly, many of us are striving to be as state-of-the-art as possible... at least not to look BAD. But the bottom line is that unless you are a big-budget indie like 3D Realms, id, or Valve... you just don't have the money to compete toe-to-toe in terms of graphical quality & quantity with the likes of, say, UT2004 or Unreal II.

Not saying you can't be superior in other ways. Unreal II is an easy target that way.
#19
12/16/2003 (9:07 am)
Someone did a great comparison between Unreal II and I was an Atomic Mutant which was a game by a small team that took 4 months... (IWAAM used my engine and a bit o' my skillz)

It's a very good read on gameplay vs. glitz, a good idea vs. more of the same crap...

There is a holy shit pile of QuakeII technology out there... someone created a full QuakeIII rendering pipeline for it... there are game mods like Lazarus that have a pile of cool gameplay additions (Quark can even edit Lazarus content)... QuakeIII (a friggin great engine) should be GPL'd in 2005... ODE, Python, Lua, Blender, MySQL, Linux, OSX, OMFG... This is exciting stuff... I have a really hard time getting excited by closed sources... a really hard time.

I want to release my sources... Having your sources open these days is a selling point... Most buy the content, not the source code... If you want to play with the sources, buy the content... Source code does not the game make.

Hell, people working with my sources (perhaps improving my game!) would be a great honor. Now, let's say you have resolved to publish your sources... it's very simple:

1) Do I want to use GPL'd code? If so, I can't use proprietary code.
2) Do I want to use Proprietary code? If so, I can't use GPL'd code.

My list of proprietary code I have faith in and can afford to use is very small.

-J
#20
12/16/2003 (10:34 am)
I guess we're derailing the topic somewhat, but I'm mainly in agreement with the review of U2 (and now I figger I gotta get me a copy of IWAM!). I enjoyed the game, but in a "ah, that was nice," kinda-way instead of a "This Game Rocks!" kinda way... the way I felt about recent titles like Operation Flashpoint, Freedom Force, and IL-2 Sturmovik: Forgotten Battles.

There's no question Unreal II has some of the best graphics to be seen anywhere (at least until next year's crop). But the review puts its finger on what bugged me about the title... it TRIED to do some cool things with story and gameplay, but in the end both efforts seemed half-hearted - if they had devoted half the effort into completing and polishing these elements as they put into the graphics, I would have become a rabid fan.

Now --- we CAN do better on several fronts here. Just not graphics. Not unless we have a multi-million dollar budget or legions of skilled content-creators who will do it all for free. But we do have a not-so-secret weapon in our arsenal, in the form of open-source code & tools. Anything that allows us to increase our productivity. And I am a believer that if I am using donated content, I should donate some back. I think that's the only way our industry (both indie and mainstream) will be able to progress.

But I don't see it as a "GPL vs. Proprietary" issue. There are many shades in-between, including LGPL, BSD-style, and pure public-domain code, programs, and resources. Proprietary code (if you are careful) is compatible with any of these other licenses, so I'm more inclined to persue these routes. That, and I'd like to CHOOSE what I release to the public domain, and when. I'd rather not be forced into it by the licensing agreement.
Page «Previous 1 2