Hypothetical question

Started by
7 comments, last by erissian 16 years, 10 months ago
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
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]
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.
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.

Stephen M. Webb
Professional Free Software Developer

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.
@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.
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.

Stephen M. Webb
Professional Free Software Developer

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.
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.
We''re sorry, but you don''t have the clearance to read this post. Please exit your browser at this time. (Code 23)

This topic is closed to new replies.

Advertisement