Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
There are a few suites of tools for Quake 3 Area, NetRadiant is one of them and is released under GPL v2. NetRadiant includes a modified version of Q3Map (also GPL'd) rewritten and included as Q3Map2 (also GPL'd & the defacto quake 3 map compiler)
My question is that, while Q3map2's source is buried deep within the hierarchy of NetRadiant (and other map editing suites) my hope is to rip all of the Q3map2 code out, and isolate it away from everything else so if you just want to work on Q3map2, your code base becomes much, much smaller. I also wanted to rewrite parts of it to remove some dependencies that could further reduce the codebase and include some gpu code from another GPL'd project.
The reason I'm asking at all is because it seems like every other iteration of Q3map I've seen, it's been situated in the heap of code that's putting it in the whole suite and I recall there being some provision in GPL about including all of the code of the unmodified version.
1. Is it ok for me to totally rip out, reduce, and redistribute? (of course crediting all original authors and contributors)
2.How much of the 'original' code needs to be included? Do I simply need to provide the original code somehow, like forking it on github?
The main intent of GPL and later versions is that:
1) Open Source software stays open source (i.e. you don't just compile it and sell only binaries).
2) Authors are given credit for their work (i.e. you don't take credit for other people's work).
To the best of my knowledge there is no requirement that ALL of the original source be included in your derived software. There is a requirement that you include the GPL itself and the copyright/authorship information for any code you do use from other people. It is suggested that you add your authorship/copyright to the portions you develop to prevent others from adding their own authorship/copyright.
Looking through the faq I see many discussions about modifying, distributing but nothing that prohibits exclusion of parts of the code so long as you give credit for the portions you do include.
Thanks for the reply, that does clear things up a bit.
You said::
"you include the GPL itself and the copyright/authorship information for any code you do use from other people"
Including the GPL itself is no problem.....figuring out who has contributed what may be a bit more complicated, but I guess I could just credit people by name/screenname as they were in the source I'm modifying, right?
As for 'including' their code...I'm in an odd spot because I want to include less. Would it be sufficient to point to a zip file with all of their unmodified code and just include that a long with mine?
I had hoped I could simply fork their code on github and be like "look, there's a copy of the original code, now I don't have to mingle it in with my own code" but I feel like that's a grey area
The way I see it: You are allowed to modify the code, and redistribute as long as you also provide YOUR code as open source, no need to supply code that is not used in your software. Of course if you redistribute software as your own, you will want to change the name, since somebody else holds the trademarks, etc for the original.
"figuring out who has contributed what may be a bit more complicated, but I guess I could just credit people by name/screenname as they were in the source I'm modifying, right?
As for 'including' their code...I'm in an odd spot because I want to include less.
Who contributed what should be explicit in the code you are borrowing. It may be that someone is listed as author for all of what you are extracting from so you'd list them as author of the portion you borrowed. From what I read in the FAQ you then put your own authorship on the portions you're building.
It seems you're overthinking it. The idea of the GPL is make sure open source stays open source. I've never heard of any case where someone has been sued for providing new code especially if it was made open source. The issues arise because some people think they can take open source, compile it (with maybe SOME changes) then sell it as if they developed everything from scatch themselves.
It is the open source idea that lets people like RedHat make RedHat Enterprise Linux and sell you the compiled and packaged product but then requires them to allow you to get the source for everything they did because it was based on open source Linux and GNU utilities in the first place. They can legitimately make money on selling you subscriptions for updates and provide a mechanism for same, professional services and support for helping you with it, training for learning how to do it but they can never prevent you from getting the source code of what they built. Due to this projects like CentOS exist which is simply someone else compiling all the source code provided by RedHat and setting up their own update mechanism. The downside is you can't get support from RedHat for CentOS. (Not long ago though RedHat took in house the CentOS project so they support the project as a whole - just not individual installations.) RedHat also drives the Fedora project which is purely an open source project. Here again they support the project but not the individual installations. Another "commercial" distribution called OEL (Oracle Enterprise Linux) is actually forked from RHEL source. They also have to provide source code (and do - they build slightly modified kernels that one can use on RHEL and CentOS though they won't support it directly if you use it on either of those - only on OEL).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.