Author Topic: Is there a way to use GPL code in the FSO? Kinda  (Read 1628 times)

0 Members and 1 Guest are viewing this topic.

Offline Flaser

  • 210
  • man/fish warsie
Is there a way to use GPL code in the FSO? Kinda
This is something that's been bugging me for a while. There are a bunch of GPL programs out there that could benefit FSO, however the licence of the Freespace source code prevents it from being released under GPL - something that's a must if you include GPL-ed code in your software.

...or is it?

GPL-ed code has been used by commercial game companies on several occasions and they sure as hell didn't release their source code under GPL. How did they do it?

"The development team can create a wrapper that will form a shared (aka dynamic) library and shield the proprietary code from the GPL code."

The article below goes into detail:
http://windyroad.org/2006/04/20/using-gpl-code-within-proprietory-code/

Is it kinda complicated? Yep. Is it worth it? I'll let the coders be the judge of that. I'm not a coder, however I thought I'd get the ball rolling, as hearing why the team doesn't use this approach - and reasons like no-one being familiar with using code in this manner is a perfectly valid one! - would finally put this old question to rest or give those who want to give it a try a clue.

EDIT: Here's the GNU description of how this "should" be done
https://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem

Quote
However, in many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and non-free programs communicate at arms length, that they are not combined in a way that would make them effectively a single program.

...and how it shouldn't:

Quote
I'd like to incorporate GPL-covered software in my proprietary system. Can I do this by putting a “wrapper” module, under a GPL-compatible lax permissive license (such as the X11 license) in between the GPL-covered part and the proprietary part? (#GPLWrapper)

    No. The X11 license is compatible with the GPL, so you can add a module to the GPL-covered program and put it under the X11 license. But if you were to incorporate them both in a larger program, that whole would include the GPL-covered part, so it would have to be licensed as a whole under the GNU GPL.

    The fact that proprietary module A communicates with GPL-covered module C only through X11-licensed module B is legally irrelevant; what matters is the fact that module C is included in the whole.

Head-scratch... way to make vague statements. I'm an advocate of free software, but the way GPL tries to "infect" whatever it comes in contact with is quite asinine.
« Last Edit: October 06, 2012, 04:38:57 pm by Flaser »
"I was going to become a speed dealer. If one stupid fairytale turns out to be total nonsense, what does the young man do? If you answered, “Wake up and face reality,” you don’t remember what it was like being a young man. You just go to the next entry in the catalogue of lies you can use to destroy your life." - John Dolan

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: Is there a way to use GPL code in the FSO? Kinda
Thank you for your work. Unfortunately, it's nothing new to us.

Historically speaking, there are two reasons why we're not using this approach. One is to keep things simple. An FSO "Distribution" contains 4 files, all of them executables that can be dropped into an existing installation and used instead of the original executable. It's as simple as it gets, and yet, people get confused.
Two, we have so far failed to find a library that would be so awesome as to make us seriously consider implementing these steps.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline Iss Mneur

  • 210
  • TODO:
Re: Is there a way to use GPL code in the FSO? Kinda
Head-scratch... way to make vague statements. I'm an advocate of free software, but the way GPL tries to "infect" whatever it comes in contact with is quite asinine.
While I am not a lawyer, the model is really simple.  If GPL code is loaded into the same process (via static linking, dynamic linking, n-level dynamic linking, etc) then the entire program must be GPL.  If it communicates via IPC (that is at "arms length") then its not a problem. They are separate (if possibly dependent) code.

You may be interesting in Apache or BSD or LGPL projects.

However, make no mistake, this is very much intentional because the FSF is very much a political organization.
"I love deadlines. I like the whooshing sound they make as they fly by." -Douglas Adams
wxLauncher 0.9.4 public beta (now with no config file editing for FRED) | wxLauncher 2.0 Request for Comments

  

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: Is there a way to use GPL code in the FSO? Kinda
i did some experimental ipc stuff awhile back with scripting (and probibly just as easy in c/++), where i was able to talk to other scripts, programs and even hardware devices. i didnt have any goal im mind i was just researching possibilities. i passed my code snippets along to some simulator builders who were interested in supporting freespace on their simulator hardware. i dont know what ever became of that. i also considered using it to make custom hardware gauges that could work with the game. if you can talk to a piece of hardware you could just as easily talk to a gpled application. which should be completely legal. say i wrote an mfd application for a raspberry pi or other arm linux device, i could theoretically gpl the thing and it would still be ok to use it for freespace and any other game as well.
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN