Jump to content
  • Advertisement
Sign in to follow this  
Pauluss86

Hypothetical question

This topic is 4165 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Although I am not sure if General Programming is the appropriate place to post my question I will do so anyway because I think it is related to general programming practices. My question is purely hypothetical, however this issue got me thinking and I am not sure if my conclusion is correct. Let's assume a developer is working on an application (could be anything). Now the developer needs some complex functionality; however the implementation of this functionality, using available documentation and resources, is very much time consuming. The developer comes across an open source library that contains the much needed functionality and which may be freely distributed as long as it is not part of a commercial package. The application that the developer is coding is intended to be freeware; problem solved you may think.. not so! The following points are considered by the developer: 1. The free open source library contains way more functionality than needed for 'our' application. 2. The library is written in a different language than 'our' application. 3. Developing the needed functionality contained in the open source library from scratch using online documentation and resources is cumbersome. Because of the above points the developer ports the needed functionality from the open source library to his own application. Now the developer assumes the original library license is no longer effective, because: 1. Although the functionality is the same, the code is not (it has been ported after all) 2. Plagiarism is not an issue because, again, the code is different from the original. Now after a while the developer decides to sell his application after all! Assuming the ported functionality is not patented, is the developer's course of action legal? Although I think it is not a very nice thing to do, I am curious to know if it is legal. I am not in any way knowledgeable about copyright law, but my own conclusion was that it is indeed legal. I compare it to detective novels: there are a lot of them, most of them have a very comparable story but it is not plagiarism because the books (or parts of it) are not exactly, or almost exactly, the same. I'm very interested in what you think about this! -Paul

Share this post


Link to post
Share on other sites
Advertisement
opensource generally comes under GPL, even if you modify it, you have to publish the code to internet free of cost.

//removed spammish signature

[Edited by - jbadams on October 27, 2007 6:45:21 AM]

Share this post


Link to post
Share on other sites
Quote:
opensource generally comes under GPL, even if you modify it, you have to publish the code to internet free of cost.


That's true. Maybe 'porting' was not the right choice of words. What I intended to say is that the developer uses the open source library as a guide (or a resource) to implement it's own solution to a problem. Much like implementing an algorithm based on a paper. Also, for some problems there are only a number of possible efficient solutions available. Now, I am sure some open source projects use roughly the same algorithms to solve a certain problem. All these open source projects are probably under GPL. However there is no legal conflict between these open source projects because they use algorithms that are generally available.
If that is the case, why would there be a legal conflict between 'our' developer and the code in the open source project the developer used as guidance? Provided of course that the algorithms implemented are of the type described above.

Share this post


Link to post
Share on other sites
Quote:
Original post by cheap freelancer
opensource generally comes under GPL, even if you modify it, you have to publish the code to internet free of cost.

Nope. The GPLv2 is but one "open source" license among many. The hypothetical question raised by Pauluss86 (or, um was it his "friend"?) had to do with some wort of open source license that does nto resemble the GPLv2, since it forbids redistribution as part of a commercial package -- and such a license would not be compatible with the GPLv2. The GPL does not prevent such a thing (nor does it require you to publish the code to the internet free of cost). On the contrary, it would forbid you from linking with software with such encumberances, since they would limit your freedom.

I would say that if you, or your "friend", were to implement an algorithm you are free to do with that program as you see fit. You are the copyright holder, and can exercise your full rights. It doesn't matter that you learned the algorithms by studying the publicly available works of others, as long as you're not just cutting and pasting their code.

A copyright holder does not hold a patent on an idea, but on the specific implementation of that idea. Patents are another story, but the OP expressly said the ideas were not patented.

Share this post


Link to post
Share on other sites
I would think that writing a library from scratch in a different language while using GPL source as documentation would be free and clear in most jurisdictions I know of. That said, I am not a lawyer and this is not legal advice.

Share this post


Link to post
Share on other sites
@Bregma:
Thanks for your reply! It's much clearer to me now.
I was afraid to get the 'you or your "friend"' thrown at me when i was writing this post :p
However, I don't have any friends that know how to code ;).. And for myself, I just started a new hobby project and atm there is no need to link to an open source library. Also if this situation arises I would just link to it as I intend my little project to be free of cost (if it ever sees the light). No need reinventing the wheel if what you need is readily available, I'm too lazy for that :)
Also, I always thought the GPL prohibits you from redistributing it in a commercial package (unless you have a commercial license from the library copyright holder), from your comment I understand that this is not the case.

Share this post


Link to post
Share on other sites
Quote:
Original post by Pauluss86
Also, I always thought the GPL prohibits you from redistributing it in a commercial package (unless you have a commercial license from the library copyright holder), from your comment I understand that this is not the case.


Consider for instance Apple, Red Hat or SuSE (or any of the other commercial Linux vendors). They're pretty commercial.

There's nothing in the GPL that prevents you from selling your software. What it says is that if you distribute GPL'd software you must make the source code available (at no more than the nominal cost of distribution). The GPLv3 goes on to say you're not allowed to distribute the software if you've made legal agreements with companies that have truck with software patents (in vague and fuzzy legaleze terms) or if you want to use encryption technology to prevent users of your software from using certain data (the "tivoization" clause), but it still doesn't prohibit you from selling your software, as long as you make the source code available to all.

There are also often alternative open source libraries that are not GPL'd. Consider the massive amount of software under a BSD license, for example. The greater part of Mac OS X is BSD software, and all of the source for that is fully available for download from Apple itself. It you're at all concerned with using or reimplementing a GPL'd implementation of something, look for a BSD alternative.

Share this post


Link to post
Share on other sites
Quote:
Original post by Telastyn
I would think that writing a library from scratch in a different language while using GPL source as documentation would be free and clear in most jurisdictions I know of. That said, I am not a lawyer and this is not legal advice.


That depends. In copyright law there is a concept called "derivative work". Exactly what that means varies. The idea is that a copyrighted work based on another one is a derivative work, and therefore cannot be distributed without the permission of the copyright holder of the original. If you, for example, wrote your own book about Harry Potter, your book would be a derivative work (there are exceptions but that's another story altogether).

If you had the source code of Windows and used it as a documentation to re-implement some functionality from it in another language, that most likely would be a derivative work. If I had to guess, i would say your "rewrite" of the library would likely be a derivative work too. However, I don't have the details to the situation (which you claim isn't even real at all) so I can't say for sure.

In closing, here is some somewhat related reading.

Share this post


Link to post
Share on other sites
This is not legal advice. This is the considered opinion of a person who has been around the F/OSS block a few times.

If you are reproducing or altering the function of a library by studying the source code, then you are creating a derivate work. Same as if you were porting; the semantics here are irrelevant.

Algorithms are not subject to copyright, but are unfortunately subject to patents these days. The papers that describe them are subject to copyright. Specific implementations of the algorithms are also subject to copyright.

If you link to a GPL project, you must license your work under the GPL. If you link to a LGPL project, you are under no such obligation; although if you distribute the library, you must distribute the source code of that library. If you link to a work under the BSD license, you are under no obligations whatsoever.

However, the scenario you describe (free for non-commercial works) has nothing to do with any of the aforementioned licenses.

In this case, if you want to distribute your software for free, go ahead. On the other hand, if you expect people to pay for your hard work, then be prepared to do the same.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!