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.

I posted some open source code on soureforge, and someone got in contact with me stating they intended to use my algorithms for a commercial product. I don't want this to happen, what should I do? According to us copyright.gov site:

"Your work is under copyright protection the moment it is created and fixed in a tangible form that it is perceptible either directly or with the aid of a machine or device."

Which seems to grant some legal protection by doing nothing. I looked at getting an official copyright from them, and its more than I'd like to spend ($135). Is that what I need to get for my work? Or are licenses a cheaper and safe/legal alternative? Or something else? Or nothing at all?

share|improve this question
    
2  
The real question is, what license is your code under? –  Bobby Mar 24 '11 at 8:46
    
This is not answerable in detail without more information. We would have to know at the very least where you posted the code (one of your comments below suggests it wasn't Sourceforge, and Sourceforge requires an Open Source license to post), and how you posted it. –  David Thornley Mar 24 '11 at 17:56
    
as i said, sourceforge. what does "how you posted it" mean? –  farm ostrich Mar 24 '11 at 21:02
    
Yes, but what license did you put the code under (and before you ask SourceForge and OpenSource are no licenses)? –  Bobby Mar 28 '11 at 8:06
add comment

3 Answers

up vote 11 down vote accepted

There is no need to register your code - in almost all countries (Bern convention) work you create belongs to you (or your employer!)

Registering at the US copyright office just provides an official way for you to state your ownership it also gives you some extra benefits when it comes to suing people in the USA (it means they can't claim in court that they didn't know and you get extra damages)

You are free to tell individual users what they can and can't do with your code - so you could simply state that you do not allow commercial use, or that you do allow Mr A but not Mr B to use it.

The point of licenses like the GPL is to make it easier for people to share code without having to worry about all this. The GPL states that you can take my code and use it - but you then have to pass it on to anyone else who wants it, along with your own additions and improvements. However it doesn't limit what the other person can use it for, commercial or otherwise (known as the 'sharks with laser beams clause' - if you want to use my GPLed code for your death ray then I can't stop you)

Other licenses are more or less restrictive - eg. BSD essentially says you can take the code and use it, keeping it to yourself.

share|improve this answer
    
Id vote you guys up if I had the 15 reputation –  farm ostrich Mar 24 '11 at 4:50
1  
i think you can still accept the answer –  Martin Beckett Mar 24 '11 at 4:54
1  
Good answer, but just one clarification: "...but you then have to pass it on to anyone else who wants it, along with your own additions and improvements" would read much more clearly as something like "...but anytime you choose to pass it on to others (e.g., when you want to share your improvements), you must keep it under the GPL license". Your current wording says that you "have to pass it on to anyone else who wants it", which gives the impression that sharing your improvements is somehow mandatory. –  apsillers Feb 7 '13 at 20:30
add comment

If its the algorithms they are using as you say, and not your code, then your only protection is to get a patent on the algorithm. Algorithms arent covered by copyrights.

Otherwise, if the company is using your open source code in violation of the license you issue the code under (for example, GPL), you'll probably need to have a lawyer send them a 'reminder' about the license. BUT, make sure it is in fact a violation. IIRC, it is not a violation to simply use GPL'd code in a commercial product so long as the conditions for use are met (ie, they make the app open source too).

Or you can create a seperate commercial license for the code, and sell them a copy. A respectable company would go for that (if not actively prefer it to using FOSS code), if for no other reason than to eliminate any threat of future litigation against them.

share|improve this answer
add comment

I posted some open source code on soureforge.

Ask yourself what open means in your sentence. Open doesn't mean you, or others cannot make money from it, the FSF and RMS have both promoted making a profit.

You have already released the software under a F/OSS license, although you do not link to your project or state which one in the question. You cannot retroactively remove the license from the code, but you can change the license for the next version as long as you still are the copyright holder for the entire code base or all the third party contributions are appropriately permissive to allow you to relicense, e.g. MIT/BSD.

Research the Paint.NET project for similar mistakes in licensing:

http://en.wikipedia.org/wiki/Paint.NET

share|improve this answer
    
On sf.net you must specify a license before creating a project, go find out what license you unwittingly released it under. It is listed prominently on the project home page, as it is pretty important. –  Steve-o Mar 24 '11 at 23:10
add comment

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.