Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

If I were to download some open source code that does some neat thing that I am needing, but doesn't have nearly as many options or bells and whistles that I need... and I make a TON of changes to where some of the base code is still there from the open source project, but a lot has changed and a lot has been added... will that code ever become "my source" as opposed to "open source"?

EDIT:

BTW, I don't actually have a project in mind, this is just in general terms - so I wouldn't know the license. This question just crosses my mind from time to time when I see a project that I could improve on...

share|improve this question
6  
short answer, it all depends on the license used.. so which license are you asking about? –  Bob Nov 10 '11 at 18:44
7  
That really depends on the license as to if it can legally become "your" source. But "Open Source" really is "Everyone's Source", so if you look at it like that, then it already is yours! :D –  Ryan Hayes Nov 10 '11 at 18:45
    
Exactly what do you mean by "open source" and "my source"? If you want to take software under an OSI-certified license, change it, and have full control of what license to release it under, it depends on the license. The Gnu GPL requires you to release your changes under the GPL, while BSD-style licenses don't. –  David Thornley Nov 10 '11 at 18:45
    
@DavidThornley By "open source" I mean anything that you can find to download that is considered open source and by "my source" I mean something that I could release openly as "mine" or even sell as "mine". –  Barry Franklin Nov 10 '11 at 18:52
    
@Barry: There is no such thing as "open source" in the terms you describe. Each project is proivided with a specific license. But usually you can still sell OpenSource code (details depending on the license). You just have to also freely provide the source (details depend on license). Look at RedHat for an example of that. –  Loki Astari Nov 10 '11 at 19:02

4 Answers 4

up vote 15 down vote accepted

There are few things you need to learn when dealing with opensource code. First, you can visit this wikipedia link for an overview of Opensource

The next thing to consider is the opensource license you are dealing with. Not all opensource license allows to do what you are thinking of achieving. For detailed reference to the licensing, vist Opensource license. Match the license of your code with the one found on this link and learn what can be done with the code you are making use of.

share|improve this answer
1  
+1 You answer said the same as mine but better :) –  Chad Nov 10 '11 at 18:47
1  
+1 because you provided links for additional reading :D –  Barry Franklin Nov 10 '11 at 19:08
    
It is not a licensing issue. If your access to the code is via a license then you have a license from the owner of the code. Which in turn means you do not own the code. –  Ptolemy Nov 10 '11 at 19:10
1  
@Ptolemy: If I get BSD-licensed code and incorporate it into a project, I don't have copyright over the whole thing. I do have the ability to release the whole thing on whatever license I feel like, and sue violators, and that's close enough to owning the code for me. –  David Thornley Nov 10 '11 at 19:14
    
So if you found that those lines of code were also used in a competitors product, could you sue them for breach of your copyright? That is the true test of owning code, rather than being a mere licensee –  Ptolemy Nov 10 '11 at 19:23

In short no.

What you are describing is plain and simple a derived work. It can be 99.9% code that you have added, but because it is derived from some one elses code, you are still required to respect the copyright and license of the original code.

What other options do you have?

Can you look at that code, see how it works and then write your own version from scratch?

This is not so clear cut. However you are still at substantial risk of breaching copyright. If you copy any code verbatim It's a breach. If you cut and paste code and then rename the variables etc... It's a breach. If you copy a technique to solve a specific problem, writing new code as you go, that is still a breach of copyright.

If you look at the code and think that's how you use that function and then go off and write your own program from scratch without copying verbatim those two lines of code then you are probably the owner of your code.

To be 100% sure of owning my code, what doctor need to do?

The key is to avoid the risk of copyright claims in the first place. Do not look at copyrighted code for examples. So not write code when someone else (like your employer) could have a claim on your code). Use source control to log regular changes to the code. ( this proves you wrote it, and demonstrates the code development rather than you copied it wholesale) and do not reuse your code in an environment where the recipient has reason to believe they now own the code.

So why is everyone else talking about licenses?

Most code available on the Internet is available under license. That license allows you access to that code on terms that the code owner has chosen. How you can use that code and you entitlements and rights to the code are defined in the software license, and may entitle you to create derived works, to sell those for profit and to not have to give anyone your source code. Likewise it may not. It all depends on the license terms. However someone else owns the copyright to the original code and you cannot prevent them licensing that same code to your competitors.

share|improve this answer
1  
You brought up some good questions... I just wonder how anyone would be able to tell that you copied a technique from anywhere - there really aren't too many unique techniques out there. And everybody had to learn their coding from somewhere - I just wonder where the line is with learning how to do something from someone's code versus ripping it off. –  Barry Franklin Nov 10 '11 at 19:17
    
There is a very clear line. Some ones intention is to teach you a technique and then you can use that approach in your own code quite safely. If you copy code, then it's copied code, and you did not create it or obtain ownership of the copyright from it's current owner –  Ptolemy Nov 10 '11 at 19:26
1  
But what happens if Bob teaches me something and then Bob teaches Joe the same thing and Joe teaches Ron and Ron teaches Bill... then Bill comes out with a program that works exactly like mine - who wins there? Neither Bill nor I may know that we both learned the same thing from Bob... and Bob could be anyone, or anything (like a website or book). How could Bill say that I stole his code if he can't prove that I didn't learn it the same way that he did? How could I defend myself if I couldn't prove I learned it? Is Bob the owner of all the code that I, Bill, Joe, and Ron write? –  Barry Franklin Nov 10 '11 at 19:35
1  
Depending on the environment, even the perception of a possibility of a breach of copyright can be damaging. Microsoft used the sco linux copyright claim a few years ago to drive Windows CE sales –  Ptolemy Nov 10 '11 at 19:37
    
Hi Barry, in your example the code copyrights would be owned by each of the people that wrote the code. They each created code independently using the same approach. They each have ownership of the copyright of those lines of code , and if they could establish that someone copied their particular lines, they could claim compensation for the copyright breach. –  Ptolemy Nov 10 '11 at 19:57

It depends on the license that the Open Source project is using. If it is a GPL license, if you ever intend to release you binaries or source to the public, then you must use a GPL-compliant license. That means the code will never be entirely yours.

If the license is the Free-As-In-Free-Beer license, then you can do anything you want with it and probably release it as your code too, unless it specifies otherwise.

share|improve this answer
2  
even if get the code with a very permissive license it still isn't yours, you are just licensed to do (almost) anything with it –  jk. Nov 10 '11 at 21:30

As others have described already NO, at least not with the standard GPL as I know it so I am not going to beat a dead horse.

Assuming this open source project is lacking and you start a completely seperate project that USES the binaries from the GPL'ed project in question and provides its own behavior to make up for the lacking behavior, then that seperate project would be YOUR source.

For instance, "Crappy LGPL project named Bamboozle is good at making widgets, but doesn't pre-process RoughArgs first. You create a proprietary product called Flamboozle that you pass a regular OR RoughArgs and spits out Widgets. Behind the scenes it uses Bamboozle, but does something else on top of it and that is what you are selling.

This can be perfectly legal assuming that you do not explicitly violate the license agreement and in a typical LGPL you wouldn't be as long as you include the Bamboozle license agreement with all distributed copies of Flamboozle.

share|improve this answer
    
There are many, many open source licenses -- GPL and LGPL are but two in a sea of licenses. –  Bryan Oakley Nov 11 '11 at 3:24

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.