Page 1 of 3

OS License

Posted: Sun Apr 22, 2007 8:13 am
by frank
Okay I wanted to get this out of the way before I start letting people have access to any of my source code. I need to figure out what to put in my license. Here is what I want:

People to be able to use my source code freely in a non commercial project.
But I don't people to be able to use enough of my code that in 5 years if I were to make my OS a commercial project that they could just release a free version that is just like it. Does anybody get what I am saying?

Posted: Sun Apr 22, 2007 9:10 am
by earlz
What you want is something that says "You can use the sourcecode for non-commercial use" basically, but with something saying "This agreement can be terminated at any time, and can become closed source"
or something like that..maybe...
I dunno, I have no idea on legal stuff...

Posted: Sun Apr 22, 2007 10:04 am
by mystran
I think you're trying to avoid deciding what you want.

You say you want to let people use it for free for non-commercial stuff, yet you don't want them to be able to make free versions later if you decide to make your OS commercial.

The trouble with the combination is that if you want people to use your code as open-source, they are going to want a license which makes sure that if they invest time on it, you won't take their rights away from them later. And if you promise not to take their rights away from them later, then trying to make the same code commercial, while avoiding a free version, is going to be more or less impossible.

You could release current versions as open-source, and then keep your later versions commercial only. If you do this, make sure that if you accept patches from other people, you get them with a license that allows you to take those patches commercial with you. Otherwise you could end-up in a situation where you have a GPL version (assuming you used GPL for the open-source license), and a commercial version, and the GPL version would be better than the commercial, because you got lots of GPLd patches, and you can't use any of those in your commercial version because they were licensed under GPL only.

Also many people don't like "free for non-commercial" at all, feeling it's against the spirit of open-source. Even GPL doesn't limit commercial use, as it simply says that whether you're commercial or not, you must give your changes back to the community.

Basicly, I think the meaningful ways to license software are basicly:

- commercial only, possibly with "shared source" but with no rights to redistribute

- commercial / open-source dual license, usually with something like GPL as the open-source license. One then requires all contributors (if any) to accept their contributions to be used in both versions. There's risk for GPL only fork, especially if you try to get rid of the open-source version later, or limit it too much. Whether such forks succeed depends on if enough people care..

- open-source only, with something like GPL that makes sure it'll stay open-source forever. Good scheme if you want to avoid anyone selling your work as closed-source, but don't care to commercialize it yourself. Also works if you want to fight against closed-source. Ofcourse you can later use any code you wrote yourself in a commercial project.

- MIT/BSD-style "use as you want" open-source, which allows anyone to use it commercially if they feel like it. Possibly the best license is you really just want to maximize the potential uses of your code, but also gives you least amount of control over what people do with your code.

You can try to make variations, but those are the schemes that are known to work in a meaningful way. Each has advantages and disadvantages. But life is such that you usually can't have it all, so you must decide for yourself..

Posted: Sun Apr 22, 2007 10:14 am
by frank
See here is the thing, if somebody thinks that I have a great scheduler, then I don't care if they copy and paste straight from my source. The only thing is that I don't want people to take enough of my source code that they could release an os that is just like mine. If I can't think of someway to do that then I think that I will just public domain it or something. Oh by the way what is the agreed upon way to put something into pd.

Re: OS License

Posted: Sun Apr 22, 2007 11:16 am
by anon19287473
frank wrote:Okay I wanted to get this out of the way before I start letting people have access to any of my source code. I need to figure out what to put in my license. Here is what I want:

People to be able to use my source code freely in a non commercial project.
But I don't people to be able to use enough of my code that in 5 years if I were to make my OS a commercial project that they could just release a free version that is just like it. Does anybody get what I am saying?
Hmmm. Perhaps dual licensing... perhaps a permissive open source license, like BSD, but im not a lawyer, I just use the GPL for all my stuff :)

Posted: Sun Apr 22, 2007 11:21 am
by mystran
Not all countries have a concept of "public domain" at all, so for "essentially public domain" just use a license that says "do what you want, but don't blame us on anything." The MIT license at least is a popular license that comes pretty close to PD.

Posted: Mon Apr 23, 2007 1:31 am
by muisei
Look at this topic ask.slashdot.org.There are some usefull links that could help you.

Posted: Tue Apr 24, 2007 12:51 pm
by Tyler
There is absolutely no way to let people use all your code in anyway in any project now, and for you to then make it closed source... once the code is used in another project you can't try and take it back.

If what you want in making it open source is to let people see your code and not use it though i do know a license you could use. I am not sure if licenses themselves are protected from reuse... so i will simply send you a link to one of the source pages.

It is from Brendans BCOS source and basically says, read it... but don't copy it in anyway or he will hunt you down and remove your scrotum.

http://bcos.zapto.org/bcos/80x86/sys_sr ... index.html

Posted: Tue Apr 24, 2007 2:37 pm
by frank
Oh well, I wasn't expecting to get any money out of it anyways. Thanks for all the responses. One more question though, what is the best license to put the code in pretty much public domain? Should I use the MIT license?

Posted: Tue Apr 24, 2007 5:37 pm
by Kevin McGuire
I think you were wanting to allow anyone to produce a free version, but never allow a commercial entity to use any whole part of it to generate revenue if applicable?

Or in other words. If anyone makes money (or credit) from it. You should get the credit, right?

You might want to have a license like Linux. However. You will have to do some research into it to make sure.

Do not let these other people trick you into thinking what you want is not possible. They are just running those choppers across the keyboard.

Posted: Tue Apr 24, 2007 6:13 pm
by Brynet-Inc
I don't see why he doesn't just use a BSD-style licence.. But with a few "extra" clauses to make his point.

Technically the "text" of the BSD licence is public domain, So you're free to add a clause that'll make people dance like a chicken if you desire to do so!!

Seriously:

Code: Select all

 * You're free to use the code in part, not whole, If the developer chooses to change the licence and revoke your usage he may do so at will.
 * If the licence holder decides to chase after you with a fork, You better start cooking them something to eat.
It all works, And I myself think it would be perfectly legal.. The Free As Beer licence seems to work wonders :)

Posted: Tue Apr 24, 2007 6:29 pm
by frank
Thanks that sounds like exactly what I want to do. Minus the come after people with a fork part :D

Thanks so much

Posted: Thu Apr 26, 2007 11:58 pm
by chase
The way I read Brynet-Inc's example would actually restrict your ability to make a commercial version years down the road because any contributers could revoke your ability to use their contributions (and of course theres the fork thing...). Also a lot of people don't understand the if you start a project under a license such as the GPL that as soon as you accept GPL contributions you are no long able to relicense your own project without removing all contributions.

Honestly from your initial post it sounds like you might want to release under an open source license but require all contributions to assign the rights to you. That's actually what the FSF does for GNU copyright software. See:

http://www.gnu.org/licenses/why-assign.html
http://www.gnu.org/licenses/gpl-faq.htm ... nCopyright

Posted: Fri Apr 27, 2007 4:04 am
by Kevin McGuire
I am going to shoot you.

Just use something like I have decided to license my kernel as:
http://creativecommons.org/licenses/by-nc-sa/3.0/

And, make sure anyone who makes any individual contributions to you're kernel (which would might not be considered under a derivative work) include the same license or one that suits you which might allow commercial usage.

And if you decide to go commercial you will need to write you're own implementation of what they did or just not go commercial if their contributions were restricted from being used commercially.

I think this license it about what you wanted from the beginning. I had just never looked into the creative commons licenses...until lately.

Posted: Fri Apr 27, 2007 9:27 am
by chase
Kevin McGuire wrote:I am going to shoot you.
I love open source licensing discussions. It's like religion for software geeks. :lol: