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.

My research group is developing some software for research purposes. The project leader wants the software to be open source and likes the GPL, but wants to ensure that they software cannot be sold.

Are we reading the GPL correctly? The software can be freely modified, (re)distributed, and sold? If so, I see why it would be difficult to effectively sell the software; however, the GPL isn't quite strict enough for our needs.

Any suggestions?

share|improve this question
1  
Change that part of the GPL and call it Your Group Name Public License. Similar to the Mozilla License (a GPL modified). –  Todd Moses Sep 15 '11 at 15:35
2  
Try a text editor. The license itself is copyrighted, but the FSF doesn't stop people as long as they don't use the GPL preamble without permission. –  Philip Sep 15 '11 at 16:20
9  
You should be aware that disallowing the sale of your software drastically reduces its usability. For example, such a license makes it incompatible with the GPL. It will not be included in Linux distributions or similar collections of free software. In fact, you might want to keep it for yourself and not release it at all. –  user281377 Sep 16 '11 at 7:01
5  
If you forbid the software to be resold, it is not considered free software anymore by many people (the OSI will not consider it Open Source, see 1 in opensource.org/docs/osd). And it will not be compatible with the GPL. If you do not want your software to be resold do not use the GPL or a modified version thereof. –  ysdx Sep 16 '11 at 7:47
7  
What is the underlying cause of "Do not sell our software?" - what do you want to avoid? –  user1249 Sep 16 '11 at 13:24
show 2 more comments

8 Answers

My suggestion is to not worry about it. Under the GPL, while you can sell it, there's really no point in buying it. Potential buyers can simply go get the source and compile it themselves. And if the build process is difficult, it just takes one person to figure it out and host the version with an automated build.

The only reason I've seen to directly sell GPL software is for people that have a lousy internet connection, and want it delivered to them on a physical medium, like a DVD.

Ask you project lead why he doesn't want people to sell the software. The GPL will probably suffice.

Now, you can make money on the open source model, but it has to be done at oblique angles. People could, for instance, take your code and become experts at it. They could then sell their support to your end-users. They could also seek commissions for further developing your code-base. The GPL doesn't block this. If you have problems with either of those, make your own license.

share|improve this answer
1  
The reason you don't normally buy GPL is not because the source is always up-for-grabs, but because potential buyers don't have to buy copies from you, they can buy them from anyone who has the software. You can sell the first copy, but then the GPL allows the buyer to give away (or sell) a million other copies. –  Jaap Sep 16 '11 at 12:39
add comment

You may sell as many copies of GPL software as you can move, but you have to release the source for free.

share|improve this answer
    
Exactly. We don't want people to be able to sell the software, source nor binary. –  Doug Moore Sep 15 '11 at 15:39
1  
@Doug Moore, then the GPL is not what you want. –  systemovich Sep 16 '11 at 6:55
4  
Addendum: you have to release the source for free to anyone who bought the software. That, and you can't stop anyone from selling copies themselves. –  Jaap Sep 16 '11 at 12:33
add comment

Yes, GPL'd software can be sold. The GPL FAQ[1] is pretty clear on this point.

Also, software cannot really be "open source" and have a "you can't sell this" limitation. Such a limitation violates plank #1 of the Open Source Definition[2]. Of course not everybody accepts the OSI definition, but in pretty much every practical regard, nobody considers software Open Source if you put in a restriction on re-selling it.

Perhaps the combination you are looking for can be found in one of the Microsoft Shared Source[3] licenses. You might consider the Microsoft Research Shared Source License Agreement[4], for example.

All of that said, why are you guys so set against resale? Doing something like that is really going to make your stuff a lot less accessible / useful to people.

share|improve this answer
add comment

The official answer, from the GPL's own FAQ: http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney

Does the GPL allow me to sell copies of the program for money?

Yes, the GPL allows everyone to do this. The right to sell copies is part of the definition of free software. Except in one special situation, there is no limit on what price you can charge. (The one exception is the required written offer to provide source code that must accompany binary-only release.)

If I distribute GPL'd software for a fee, am I required to also make it available to the public without a charge?

No. However, if someone pays your fee and gets a copy, the GPL gives them the freedom to release it to the public, with or without a fee. For example, someone could pay your fee, and then put her copy on a web site for the general public.

share|improve this answer
add comment

Using a license that prohibits commercial usage (which, by the way is VERY hard to define) than GPL will make your software incompatible with all existing libraries and programs that use that license. It also means that it will not be included in software like R or in linux distributions like debian.

I know different programs which used some kind of noncommercial license and which was not maintained for this reasons: you can not link the software to most other libraries or utilities.

If you use the GPL, and someone will sell products using or based on your code, they are obliged to give access to the full source code. That means including all their modifications and all other code for their program. I think that's a fair deal: improvements and new possibilities become available.

Since you are the copyright holder, you can also decide to have both a GPL version and a commercial license: in reality people selling software will want a license which does not force them to publish their whole program under the GPL. They will happily buy a license to get rid of that restriction. This is a scheme which among many others is used by oracle for berkeley db:

Thus, the license depends on how a particular application that uses Berkeley DB is distributed to the public. Software that is not distributed can use the Sleepycat License, as can free and open source software. Proprietary software can use Berkeley DB only under a commercial license agreement between Oracle and the application's publisher.

A last thing: it is very hard to define 'commercial usage'. Is a PhD student working on a project using your software commercial usage? His wage is paid by the project...

One last thing to convince your team leader:

Releasing code under the GPL leaves only the same opportunities for (legal) commercial gain as does publishing a journal article describing some method or process that can be exploited commercially.

From this similar question on Stackoverflow. And in fact it is not true: if you publish an article, the publisher will usually claim the copyright and the revenues of the article, so you are better of using GPL than publishing it in a journal.

share|improve this answer
add comment

The easiest and safest for you is to license under a Creative Commons Non-Commercial. Including further options for limiting like No Derivative Works.

See: http://creativecommons.org/

Using this would disallow commercial use of the product without you having to modify the license.

SO uses the CC license for this content but it can be used for any published medium.

share|improve this answer
1  
I had the same thought, but Creative Commons recommends against this: Can I use a Creative Commons license for software. –  Doug Moore Sep 15 '11 at 19:27
add comment

Make your software proprietary and publish the source code online with a click wrap license which prohibits from compiling the source and selling it.

That should do.

share|improve this answer
add comment

What does he mean, "cannot be resold"?

There are two interpretations, an economical one and a legal one.

Under the legal interpretation, if your software is under the GPL license, other people are explicitly allowed to resell your software.

Under the economical interpretation, if you offer a free-as-in-beer GPL version on your website, other people cannot resell your software because they'd not be able to undercut you.

In either case, third parties can charge for warranties, maintenance, support, and quite a few other things anyway.

share|improve this answer
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.