A New License?

A place to discuss the implementation and style of computer programs.

Moderators: phlip, Moderators General, Prelates

bytbox
Posts: 56
Joined: Wed Aug 19, 2009 5:43 am UTC

A New License?

Postby bytbox » Sun Aug 08, 2010 3:26 am UTC

This might be off-topic for this forum, but I couldn't find a better place to post. Sawwy.

For various reasons - the main ones being frustration with existing open-source licenses and my own sheer arrogance - I've decided to take a go at writing my own license. It's available here: http://gist.github.com/489363 or in the spoiler.

Feedback? preferably from people who have some familiarity with licensing and such.

Bare in mind two things:
  • Yes, I know that this license is quirky. I'm aware that it may not be OSD-compatible, and I honestly don't give a. I know that this license requires any modifications to be provided upon request, even if they were never published, and that is intentional (it makes the entire mess in the AGPL unnecessary). I know the last clause is weird - it's a combination anti-tivoization and cover-my-ass clause that makes finding loopholes a good bit harder. I know I can't use GPL'd code from this license, and that's fine with me. I think it is GPL-compatible, and if its not, that would be a bug.
  • I don't believe that this license is any the worse for not having pages of legal jargon - I believe (I say "believe" because I don't want to say "know") that common sense is in fact a valid legal argument, and that most judges will interpret licenses the way they were meant to be interpreted, provided they were reasonably clear. So don't just dismiss it because it's [somewhat] readable - although if I'm wrong in this belief, please let me know with evidence. And, this license was meant to be read and even understood (*gasp*) by non-lawyers and non-technical people. This license comes out to twIo bytes smaller than the new BSD license - I like having my license not be the largest file in my repository.
  • This is still the second thing. Yes, the definition of "modification" is unclear. Yes, that's suboptimal. No, I don't think that's a good excuse for 30 kilobytes of unreadable jargon.
Spoiler:
Copyright (C) <YEAR> <OWNER>
All rights reserved.

Permission is hereby granted to use this software free of charge.

Redistribution of verbatim, standalone copies of this software, with or
without source, is permitted provided that this notice is retained unmodified.

Modification of this software is permitted provided that this notice, in full
and unmodified, is retained and applied to all modifications, and the source
code for all modifications is made available free of charge upon request,
under these terms.

Redistribution of this software, modified or verbatim, as a component of a
larger work, is permitted provided that a mechanism is provided free of charge
and under no further conditions, to enable further modifications to be made to
this software and incorporated into the larger work.

As an exception to the above clauses, permission is not granted to make any
modification or distribute in any way that would reduce the ability of a
recipient of this software to exercise his or her rights as granted by this
license.

THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR DISTRIBUTORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

(Background: up until a few months ago, I was a major GPL fan - more of a jerk about it than RMS hi'self, if that's possible.)

Thanks in advance.

User avatar
Sc4Freak
Posts: 673
Joined: Thu Jul 12, 2007 4:50 am UTC
Location: Redmond, Washington

Re: A New License?

Postby Sc4Freak » Sun Aug 08, 2010 4:00 am UTC

My entire response can basically be summed up as "please don't".

It's far better to try and find an existing, established license that fits your needs. It's very rare to have needs so specialised that you need to create a custom license. Custom licenses prevent free usage and distribution of your work, because people don't know the terms of your license. They have to read through it and see if it's appropriate for them to use or distribute your work.

If a work is under GPL, MIT, BSD or another well-known established license, I know exactly what I'm getting. I know what I can and can't do - or if I don't already know, I can easily do a search for it. If I've never seen your license before, I don't know if there may or may not be something in there that will come back to bite me in the ass. I'll have to read through it - maybe even hire a lawyer to look through it and guarantee that it's safe.

Legalese exits for a reason. Legal jargon isn't there for me to understand, it's there to provide safety both for the creators and users of the work. The full GPL text is pages long, but it means that I know exactly what I'm getting. There are licenses like the "Don't Be a Dick License" and the "shall be used for Good, not Evil" clause of the JSON license. Such licenses basically mean that code that uses those licenses is completely unusable. The meaning of "good", "evil" and "don't be a dick" are so vaguely defined that it becomes too risky to use anything with that sort of license attached to it. Custom licenses all too often have the same problem - you're not a lawyer so you're probably going to get something wrong - and in all likelihood your users just can't take that risk.

So, again, please don't use your own license. Use one of the well-known, established licenses. Otherwise, you're just making it harder for others to use your code.

++$_
Mo' Money
Posts: 2370
Joined: Thu Nov 01, 2007 4:06 am UTC

Re: A New License?

Postby ++$_ » Sun Aug 08, 2010 4:27 am UTC

This is not fully GPL-compatible because of the combination of three factors:

(1) You mandate that "this notice, in full and unmodified, is retained" unless incorporating the software into a larger work distributable with no "free of charge and under no further conditions".
(2) Your license permits the distribution of the software without source, while the GPL does not.
(3) The GPL imposes "further conditions" on "enabl[ing] further modifications to be made to this software and incorporated into the larger work." (Also, the GPL doesn't mandate that anything be done free of charge.)

This means that software released under this license cannot be combined with GPL'ed software and released under the GPL without also releasing it under your license. That's close to compatible, but not quite, since your license also imposes conditions that the GPL doesn't (namely, free-of-charge distribution and providing source code to unpublished modifications). This probably seems trivial to you, but many free software project managers will balk at it.

The easiest way to fix this is to do something like the Imatix SFL licence; add as an option that your software or a modified version thereof may be incorporated into a project if that project is distributed under the GNU GPL (or whatever your favorite license is) (you might want to include version numbers). This has disadvantages, but it has the big advantage of making the license immediately GPL-compatible. Without doing this sort of thing, it is extremely difficult to make a license that is both copyleft and GPL-compatible.

Additional notes: I would definitely recommend talking to a lawyer before using any license. I am not a lawyer.

I would strongly recommend "biting the bullet" and using an existing license. The GPL may have many pages of legalese, but through long years of practice we all know what they mean and how to comply with them. Your license is simple, but it's new. As a result, complying with your license may actually be harder than complying with the GPL. A company hoping to use your software, for example, would have to consult their legal department on the impact, whereas they probably already are aware of the impact of using GPL software.

The phrase "further conditions" is unclear in this context. "Further" as compared to what? What constitutes "further" conditions? (I assume you mean "more stringent," but what if it is arguable whether or not a condition is more stringent?) This could be construed as making impossible to redistribute a modified version of your software with the requirement that the modifier receive credit (because that is an additional condition). In the last clause, it is not clear what the recipient's "rights" are.

bytbox
Posts: 56
Joined: Wed Aug 19, 2009 5:43 am UTC

Re: A New License?

Postby bytbox » Sun Aug 08, 2010 4:30 am UTC

It's far better to try and find an existing, established license that fits your needs.


I have no "needs", per se. I could easily use the GPL, or in the few cases where doing so would be awkward, BSD/MIT/X. I have no major objection to either license type.

But as nearly as I can tell, no license comes anywhere near to fulfilling my wants. I want all modifications made to my code to be free, under the same terms. I want my code to be freely packable/linkable with ANY other code, so long as the ability to apply changes to the component under this license is there. Can you recommend a license that fulfills both of these? (And is preferably under 10 kilobytes.)

Legalese exits for a reason. Legal jargon isn't there for me to understand, it's there to provide safety both for the creators and users of the work. The full GPL text is pages long, but it means that I know exactly what I'm getting.

Good for you, because despite reading all over gnu.org and trying to mug my way through the gpl3, I /still/ don't really understand some parts of it. And neither does anyone I know. You know those "please read and agree to this license to continue with installation" schemes under windows? I have a moral objection to requiring people to read and agree to license I haven't read and don't understand.
There are licenses like the "Don't Be a Dick License" and the "shall be used for Good, not Evil" clause of the JSON license. Such licenses basically mean that code that uses those licenses is completely unusable. The meaning of "good", "evil" and "don't be a dick" are so vaguely defined that it becomes too risky to use anything with that sort of license attached to it.

I rather suspect you've missed the entire point of the "don't be a dick" license.

Custom licenses all too often have the same problem - you're not a lawyer so you're probably going to get something wrong - and in all likelihood your users just can't take that risk.

1) If I was a lawyer, they would trust my license? Wha...?
2) My users - and prospective contributors - are not multi-billion dollar corporations. They are people, who probably won't read the license, and if they do, will be intelligent enough to get the point.

I'll have to read through it.

Did you even? I'm beginning to wonder.

That should take you all of 90 seconds, if you're a slow reader. Unless you just want to use and maybe make copies of the software, in which case you'll stop reading after the first couple of lines.

maybe even hire a lawyer to look through it and guarantee that it's safe.

I would be probably be convinced that writing my own license was a bad idea if you could provide me:
1) an instance of a court ruling that some legal agreement meant something that, to a reasonably astute layman who had read the entire thing, it would not appear to mean, and requiring that it be enforced (rather than invalidating the whole thing as the load of phony bullshit it was).
2) an instance of another court using that ruling as a precedent.

bytbox
Posts: 56
Joined: Wed Aug 19, 2009 5:43 am UTC

Re: A New License?

Postby bytbox » Sun Aug 08, 2010 4:57 am UTC

++$_ wrote:This is not fully GPL-compatible because of the combination of three factors:

(1) You mandate that "this notice, in full and unmodified, is retained" unless incorporating the software into a larger work distributable with no "free of charge and under no further conditions".
(2) Your license permits the distribution of the software without source, while the GPL does not.
(3) The GPL imposes "further conditions" on "enabl[ing] further modifications to be made to this software and incorporated into the larger work." (Also, the GPL doesn't mandate that anything be done free of charge.)

Woah, maybe I don't mean GPL-compatible, in the normal sense. Modifications aren't GPL'able, that's ok. My license doesn't have the same effect as the GPL, that's ok too. But GPL'd software can use (link to and make calls to) code under this license, because that's not a modification. (Of course, any modifications, like bugfixes, would have to be released under this license.) For redistribution as a component of a larger work, you only need the ability to make changes to the code that is under this license, and relink (or whatever) with the rest.

I don't understand point 3. What further conditions does the GPL impose on "enabling further modifications to be made to this software and incorporated into the larger work?" The GPL only affects distribution, AFAIU. And a consequence of the

This means that software released under this license cannot be combined with GPL'ed software and released under the GPL without also releasing it under your license. That's close to compatible, but not quite, since your license also imposes conditions that the GPL doesn't (namely, free-of-charge distribution and providing source code to unpublished modifications). This probably seems trivial to you, but many free software project managers will balk at it.

Combination is not modification. It's inclusion as part of a larger work. I assumed this was obvious, is it not?

The easiest way to fix this is to do something like the Imatix SFL licence; add as an option that your software or a modified version thereof may be incorporated into a project if that project is distributed under the GNU GPL (or whatever your favorite license is) (you might want to include version numbers). This has disadvantages, but it has the big advantage of making the license immediately GPL-compatible.

I view this as a last resort, and I'd rather have a license for which this isn't necessary.

Without doing this sort of thing, it is extremely difficult to make a license that is both copyleft and GPL-compatible.

Woah! Hey! This isn't copyleft! (Even though my name for it is "one true copyleft") - in the sense that the GPL is. I only require /modifications/ to be under this license. Code that simply links with code under this license need not even be open source!

Additional notes: I would definitely recommend talking to a lawyer before using any license. I am not a lawyer.

This is where I stand on a soapbox and shout, "I should not need a lawyer to make my wishes clear!" Heck, I shouldn't even need a forum, although I appreciate it.

I would strongly recommend "biting the bullet" and using an existing license. The GPL may have many pages of legalese, but through long years of practice we all know what they mean and how to comply with them.

I don't (know what they mean). And every so often, there's yet another debate about it.

Also, enforcement of licenses in free software communities (where I operate) is done primarily via common consent (or at least it seems to be that way to me). Nobody's going to get pissed at me for nabbing the warranty clause of bsd-new.

Your license is simple, but it's new. As a result, complying with your license may actually be harder than complying with the GPL. A company hoping to use your software, for example, would have to consult their legal department on the impact, whereas they probably already are aware of the impact of using GPL software.

I understand that. In practice, most of what I write is of little interest to companies, and that which is is generally BSD'd for other reasons, so this doesn't matter. Individuals generally have better things to do than read past the "You have the right to use this software" line.

The phrase "further conditions" is unclear in this context. "Further" as compared to what? What constitutes "further" conditions? (I assume you mean "more stringent,"...)

Oops. I goofed. Gotta reword that part. Thanks.

This could be construed as making impossible to redistribute a modified version of your software with the requirement that the modifier receive credit (because that is an additional condition).

Damn straight. And I didn't require that I receive credit, either. That's deliberate, primarily because resolving credit disputes is essentially trivial now (in the F[L]OSS communities).

But you misread it - the "further" is only with reference to the "mechanism free of charge and.. to enable further modifications..."under these terms" is used elsewhere.

In the last clause, it is not clear what the recipient's "rights" are.

I can think of a number of semi-funny rebuttals to this ("Do you want it taken away? No? It's a right." or "Yeah, the definition of 'rights' seems to be misplaced in the dictionary. Hang on - ah, here it is. Right below 'porn'.") but nothing serious. You're right. Any suggestions? (Although that clause is mostly redundant, and could be removed if I changed the rest of the license a bit.)

Thanks again for the feedback.

troyp
Posts: 557
Joined: Thu May 22, 2008 9:20 pm UTC
Location: Lismore, NSW

Re: A New License?

Postby troyp » Sun Aug 08, 2010 7:42 am UTC

Sc4Freak wrote:My entire response can basically be summed up as "please don't".

I agree with this completely. A couple of other thoughts...
* If you *must* use a custom license, it would be better to take an established license close to what you want and then make the minimal necessary modifications to it: this would make the license easier for people to understand and have confidence in.
* You say you intend the license to be GPL-compatible, so I assume you want to enable it to be used in GPL'd projects while also offering permissions that aren't covered by the GPL. If so, why not dual license it under the GPL as well as your custom license? That way people can use it in GPL'd software with with confidence, while anyone needing the more permissive license can still use it.

Axidos
Posts: 167
Joined: Tue Jan 20, 2009 12:02 pm UTC
Location: trapped in a profile factory please send help

Re: A New License?

Postby Axidos » Sun Aug 08, 2010 12:00 pm UTC

troyp wrote:* If you *must* use a custom license, it would be better to take an established license close to what you want and then make the minimal necessary modifications to it: this would make the license easier for people to understand and have confidence in.

If he's not proficient in legalese I can foresee only one result: there is a particular issue he wants to change which is dealt with by multiple sections of the license and he only changes a portion of them, leaving himself with a self-contradictory license.

Again the answer would be "please don't."


@OP: Can't Creative Commons give you the sort of license you're after?

bytbox
Posts: 56
Joined: Wed Aug 19, 2009 5:43 am UTC

Re: A New License?

Postby bytbox » Sun Aug 08, 2010 3:18 pm UTC

troyp wrote:* You say you intend the license to be GPL-compatible, so I assume you want to enable it to be used in GPL'd projects while also offering permissions that aren't covered by the GPL. If so, why not dual license it under the GPL as well as your custom license? That way people can use it in GPL'd software with with confidence, while anyone needing the more permissive license can still use it.

And then contributions to the GPL'd part can't be included in the other half, making an effective fork.

bytbox
Posts: 56
Joined: Wed Aug 19, 2009 5:43 am UTC

Re: A New License?

Postby bytbox » Sun Aug 08, 2010 3:24 pm UTC

Axidos wrote:@OP: Can't Creative Commons give you the sort of license you're after?

An interesting idea - I hadn't looked there. No, though - they're all a long way off from what I want.

Axidos
Posts: 167
Joined: Tue Jan 20, 2009 12:02 pm UTC
Location: trapped in a profile factory please send help

Re: A New License?

Postby Axidos » Sun Aug 08, 2010 4:45 pm UTC

bytbox wrote:I want all modifications made to my code to be free, under the same terms. I want my code to be freely packable/linkable with ANY other code, so long as the ability to apply changes to the component under this license is there. Can you recommend a license that fulfills both of these? (And is preferably under 10 kilobytes.)

"I want all modifications made to my code to be free, under the same terms."
This is Share Alike whilst permitting modifications. That's covered by this CC license. You can get a version of this license with your details embedded in it by filling out the License Chooser - all you have to do is answer "Yes, as long as others share alike" to the question "Allow modifications of your work?"
Of course if you prevent commercial usage, you'll get a BY-NC with share-alike.

"I want my code to be freely packable/linkable with ANY other code, so long as the ability to apply changes to the component under this license is there."
Honestly that just sounds more like a matter of code design, or something extremely vague which you'll have to express with more clarity.


If I haven't missed anything then CC sounds like it should be OK.

bytbox
Posts: 56
Joined: Wed Aug 19, 2009 5:43 am UTC

Re: A New License?

Postby bytbox » Sun Aug 08, 2010 5:01 pm UTC

Axidos wrote:
bytbox wrote:I want all modifications made to my code to be free, under the same terms. I want my code to be freely packable/linkable with ANY other code, so long as the ability to apply changes to the component under this license is there. Can you recommend a license that fulfills both of these? (And is preferably under 10 kilobytes.)

"I want all modifications made to my code to be free, under the same terms."
This is Share Alike whilst permitting modifications. That's covered by this CC license. You can get a version of this license with your details embedded in it by filling out the License Chooser - all you have to do is answer "Yes, as long as others share alike" to the question "Allow modifications of your work?"
Yes, I know.

Of course if you prevent commercial usage, you'll get a BY-NC with share-alike.
I don't wish to prevent commercial usage.

"I want my code to be freely packable/linkable with ANY other code, so long as the ability to apply changes to the component under this license is there."

Honestly that just sounds more like a matter of code design, or something extremely vague which you'll have to express with more clarity.

I mean what I said: if you package your software (of some arbitrary license) with my software (under this license), Jon (who receives this combination) must be able to modify my software, and then incorporate his changes to my software into his version of your software. It's fine with me if he can't then redistribute the modified version - he just has to have a (free) way to apply modifications.

If I haven't missed anything then CC sounds like it should be OK.

It's the "freely packable/linkable with any other code" that CC - and other licenses I've looked at - is missing.

User avatar
Xanthir
My HERO!!!
Posts: 5413
Joined: Tue Feb 20, 2007 12:49 am UTC
Location: The Googleplex
Contact:

Re: A New License?

Postby Xanthir » Sun Aug 08, 2010 8:20 pm UTC

bytbox wrote:
Of course if you prevent commercial usage, you'll get a BY-NC with share-alike.
I don't wish to prevent commercial usage.

You said you want the software to always be gratis, right? That's the NC clause.

(I find NC to be personally offensive, but shrug.)
(defun fibs (n &optional (a 1) (b 1)) (take n (unfold '+ a b)))

bytbox
Posts: 56
Joined: Wed Aug 19, 2009 5:43 am UTC

Re: A New License?

Postby bytbox » Sun Aug 08, 2010 8:33 pm UTC

Xanthir wrote:
bytbox wrote:
Of course if you prevent commercial usage, you'll get a BY-NC with share-alike.
I don't wish to prevent commercial usage.

You said you want the software to always be gratis, right? That's the NC clause.

No, it's not. From section 4 of by-nc
You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation.

Section 3 grants, among other rights, the rights to "to Distribute and Publicly Perform the Work including as incorporated in Collections" and "to create and Reproduce Adaptations provided that...[long phrase about marking the adaptation as such]". Whereas I have no objection to people making money off of SaaS, nor to people being paid to contribute to OSS, so long as their changes are made "freely available" (for practical reasons, under the same license).

troyp
Posts: 557
Joined: Thu May 22, 2008 9:20 pm UTC
Location: Lismore, NSW

Re: A New License?

Postby troyp » Sun Aug 08, 2010 10:13 pm UTC

bytbox wrote:
troyp wrote:* You say you intend the license to be GPL-compatible, so I assume you want to enable it to be used in GPL'd projects while also offering permissions that aren't covered by the GPL. If so, why not dual license it under the GPL as well as your custom license? That way people can use it in GPL'd software with with confidence, while anyone needing the more permissive license can still use it.

And then contributions to the GPL'd part can't be included in the other half, making an effective fork.

So you want any GPL project that modifies your code to be able to be used under your license? That's not GPL-compatible: any existing code would have to be relicensed!
You're going to have to choose between (1) Having your license be compatible with GPL'd projects; and (2) requiring all modifications to the code to be released under your license.

edit: ah, looking at your responses to other prople, it seems you only want modifications to your component of the code available under your license. That had occurred to me, but I dismissed it as too open to interpretation. Anyhow, this still means it can't be included in a GPL'd project (even though it wouldn't require existing code to be relicensed, the project as a whole could not be licensed under the GPL).

bieber
Posts: 223
Joined: Thu Mar 13, 2008 12:13 am UTC

Re: A New License?

Postby bieber » Mon Aug 09, 2010 12:23 am UTC

This license makes no sense. Any modifications must be provided upon request? Upon request by who? Are you just going to send email to random people who've downloaded your software asking if they happen to have modified it? Does anyone who has downloaded your software have to provide any random person who happens to ask them for any modifications they may have made their code, regardless of who's doing the asking? Am I now obligated to notify you any time I make a modification?

Sorry, but there's a reason everyone is telling you this is insane. If you want to make your software unusable, go ahead, just understand that that's exactly what you're doing with a license like this. Aside from the fact that it most certainly won't hold up in court with utterly illogical nonsense like that in it, you've precluded code released under it being included in any major GNU/Linux distro (thanks to the free-of-charge provision) or incorporated into pretty much any other free software project. And of course I'm not going to even bother downloading it if it can subject me to future harassment over changes that I may or may not have made in private without distributing them...

bytbox
Posts: 56
Joined: Wed Aug 19, 2009 5:43 am UTC

Re: A New License?

Postby bytbox » Mon Aug 09, 2010 3:30 am UTC

bieber wrote:This license makes no sense. Any modifications must be provided upon request? Upon request by who? Are you just going to send email to random people who've downloaded your software asking if they happen to have modified it? Does anyone who has downloaded your software have to provide any random person who happens to ask them for any modifications they may have made their code, regardless of who's doing the asking?

Yes.
Am I now obligated to notify you any time I make a modification?

Does the license say that? Nope. If you can keep a secret, goody for you.

Sorry, but there's a reason everyone is telling you this is insane. If you want to make your software unusable, go ahead, just understand that that's exactly what you're doing with a license like this.

Thanks for the feedback.
Aside from the fact that it most certainly won't hold up in court with utterly illogical nonsense like that in it

I've read - and I know people (well, one person) who have (has) agreed to - a software license that stated that, at the termination of a 6 month (or 3, don't remember) period, the copyright holder had the right to inspect the computer on which the software was installed. What, exactly, about this license is unreasonable? (Other than your interpretation.)

you've precluded code released under it being included in any major GNU/Linux distro (thanks to the free-of-charge provision)

Let's clear something up. It is NOT a violation of this license to sell CDs with the software on it. Furthermore, if you didn't modify the software, you can even refuse to give it away for free, only giving it to people for a fee.

The free-of-charge provision is only for the modification mechanism (which really does need to be free of charge, to avoid $1000 "developer licenses") and for the source code of all modifications.- where, again, its needed. And remember that, once you've done something like post to bitbucket, you can still sell CDs! You just must also be willing to provide the source code free of charge (because /you/ made the modifications). But saying "its on bitbucket" works too.

And of course I'm not going to even bother downloading it if it can subject me to future harassment over changes that I may or may not have made in private without distributing them...

Again, bullshit. If people actually decide to harass you - unlikely in practice - all you have to do is post your modifications somewhere, and tell them to go either there or to hell. If they keep harassing you, well, you've fulfilled the license and what they're doing is simple harassment, spam or whatever. At that point, the license has nothing to do with it.

Let me say that again. Just because there's a license involved doesn't mean harassment isn't still harassment. If you didn't make modifications, asking you every day - or 12 hours - or 3 hours - "make any yet?" is harassment. If you make frequent modifications, asking every 3 hours (after you ask/tell/order them to stop) is still harassment. Sure, the license requires you to follow through on the request. At your own pace. So push to github once a week.

It's ok to call me insane (I'm still trying to get plan9 running on a macbook pro), just don't assume that I didn't think about this license. You're not going to find flaws in it that easily.

bytbox
Posts: 56
Joined: Wed Aug 19, 2009 5:43 am UTC

Re: A New License?

Postby bytbox » Mon Aug 09, 2010 3:44 am UTC

troyp wrote:
bytbox wrote:
troyp wrote:* You say you intend the license to be GPL-compatible, so I assume you want to enable it to be used in GPL'd projects while also offering permissions that aren't covered by the GPL. If so, why not dual license it under the GPL as well as your custom license? That way people can use it in GPL'd software with with confidence, while anyone needing the more permissive license can still use it.

And then contributions to the GPL'd part can't be included in the other half, making an effective fork.

So you want any GPL project that modifies your code to be able to be used under your license? That's not GPL-compatible: any existing code would have to be relicensed!
You're going to have to choose between (1) Having your license be compatible with GPL'd projects; and (2) requiring all modifications to the code to be released under your license.

edit: ah, looking at your responses to other prople, it seems you only want modifications to your component of the code available under your license. That had occurred to me, but I dismissed it as too open to interpretation. Anyhow, this still means it can't be included in a GPL'd project (even though it wouldn't require existing code to be relicensed, the project as a whole could not be licensed under the GPL).

We don't seem to be understanding each other. At least, I'm not understanding you.

Your edit'd interpretation is indeed the correct one (the license itself seems to be the best explanation of my wishes, despite its several flaws, which I'm working on fixing - thanks for pointing them out, even those of you who think I'm a crackpot (all of you, probably)). I don't quite understand why it can't be included in a GPL'd project - it would be a bit of a pain, and require a second copyright notice ("Portions copyright (c) 2009 The Arrogant Fool <hateyou@ugly.license.net>"), but I don't see the incompatibility.

bytbox
Posts: 56
Joined: Wed Aug 19, 2009 5:43 am UTC

Re: A New License?

Postby bytbox » Mon Aug 09, 2010 4:09 am UTC

Taking into account some of the criticism (thank you), I've adjusted and clarified the license. The wording about the modification mechanism is still pretty bad (now it has to be "unconditionally provided"), but the rest of it seems to be ok now.

The license is still in the same place: http://gist.github.com/489363. I've added a slightly more plain-english explanation of what its supposed to say, to help deal with misunderstandings. The license should be clear by itself, but apparently, people are good at reading things into licenses that just ain't there. So the second document is there to save me having to deal with "that CAN'T be what you mean". Yeah. It is.

troyp
Posts: 557
Joined: Thu May 22, 2008 9:20 pm UTC
Location: Lismore, NSW

Re: A New License?

Postby troyp » Mon Aug 09, 2010 5:33 am UTC

bytbox wrote: I don't quite understand why it can't be included in a GPL'd project - it would be a bit of a pain, and require a second copyright notice ("Portions copyright (c) 2009 The Arrogant Fool <hateyou@ugly.license.net>"), but I don't see the incompatibility.

Because the project as a whole would contain your code as well as GPL'd code. The GPL would consider the addition of your code to be a modification and require the entire thing to be released under GPL, which your license doesn't allow.

bytbox
Posts: 56
Joined: Wed Aug 19, 2009 5:43 am UTC

Re: A New License?

Postby bytbox » Mon Aug 09, 2010 5:55 am UTC

Oh.

Well, thanks for pointing that out. Time for more thought.

Are there any copyleft licenses that don't have a special cluase for handling the GPL, that are GPL-compatible?

++$_
Mo' Money
Posts: 2370
Joined: Thu Nov 01, 2007 4:06 am UTC

Re: A New License?

Postby ++$_ » Mon Aug 09, 2010 6:38 pm UTC

Aha! I found one!

According to the Free Software Foundation, who presumably know their stuff, the Berkeley DB license is compatible with the GPL. (You would obviously have to use a modified version of the license, because it refers specifically to "DB software" and "Oracle," but that shouldn't affect compatibility.

It might not do exactly what you want, but it seems pretty close. You can take out the clause "and any other accompanying software that uses the DB software," and then it should allow linking with any code as long as it is accompanied by information as to how to obtain the source (of this part) and the notice is preserved. That shouldn't affect the GPL-compatibility. Also, all modifications are free and under the same terms (not gratis, but libre enough that anyone with a copy can redistribute them). Aren't those your two criteria?

To be honest, I'm not quite sure that the FSF is right, but I'm going to assume that they are. Here's my concern: Let's say your file is under the BDB license. It has a BDB notice on it. Now, a GPL project links to it. In order to do this, they have to provide the source code, but that's fine, because they are GPL, so they were going to do that anyway. Now they want to redistribute your software under the GPL (i.e., compatibility). They have to preserve your notice, because the BDB license requires preserving the BDB notice. Does this implicitly preserve the BDB conditions on the file containing the notice? If the answer is yes, then there are no problems. If the answer is no, then the license isn't fully compatible, because the code can't be incorporated into a GPL project without adding a special note that "Reproduction of file XYZ is also restricted by the terms of the BDB license." That might be okay.

Additional note: Some people suggested Creative Commons. Please note that any CC license would have to be modified for software to require making the source available; otherwise, someone could distribute a pure binary version and not tell anyone how to get a copy of the source or provide a method for doing so.

bytbox
Posts: 56
Joined: Wed Aug 19, 2009 5:43 am UTC

Re: A New License?

Postby bytbox » Mon Aug 09, 2010 7:02 pm UTC

++$_ wrote:Aha! I found one!

Holy sh*t! Thanks!

This does indeed look pretty close to what I want - most importantly, it's smaller than my largest source file ;) I don't have time now, but I'll look at it tonight.

Wow. Thanks again.

(Being insane, I may just decide to make changes modeled off of BDB.)

Axidos
Posts: 167
Joined: Tue Jan 20, 2009 12:02 pm UTC
Location: trapped in a profile factory please send help

Re: A New License?

Postby Axidos » Tue Aug 10, 2010 12:24 am UTC

++$_ wrote:Additional note: Some people suggested Creative Commons. Please note that any CC license would have to be modified for software to require making the source available; otherwise, someone could distribute a pure binary version and not tell anyone how to get a copy of the source or provide a method for doing so.

Hmm, I wondered if there would be issues with using CC for software. Thanks.

User avatar
styrofoam
Posts: 256
Joined: Sat May 08, 2010 3:28 am UTC

Re: A New License?

Postby styrofoam » Tue Aug 10, 2010 12:30 am UTC

Axidos wrote:Hmm, I wondered if there would be issues with using CC for software. Thanks.

I've released software licensed under CC0 before. Of course, I didn't care about getting source (or anything else) either.
aadams wrote:I am a very nice whatever it is I am.


Return to “Coding”

Who is online

Users browsing this forum: No registered users and 12 guests