Aside from $job, I spent an entire day parsing the freshly announced release of Artistic License 2.0 beta 14, which feels much like Perl 6 -- in that it streamlined and formalized the mechanism, while staying true to the original idea.
As part of this, I engaged in an extremely long discussion with Allison, on her warning in #parrotsketch that inclusion of the Judy LGPL source tree in the Pugs repository will cause a licensing conflict with the Artistic license -- Inclusion of Artistic code under a LGPL project's tree is okay, but the converse is forbidden.
# Update: After some long followup discussions, it turns out it's not forbidden by law (Ruby does it with their regex.c), it's just considered extremely bad style by TPF; according to Allison, claiming the Artistic license applying to a compilation work also covers individual files in it, and it's legally dangerous -- though maybe not instantly criminal -- to have more strictly-licensed subparts in the repository tree, the way Ruby does it.
This has motivated me to move away from Pugs's current license, the now-outdated Artistic License 2.0 beta 5/GPL, as I don't want to restrict people doing anything with my compilation copyright.
All I really want to do is to let other people redistribute Pugs, in part or as a whole, without worrying anything about Pugs's license interferring with their redistribution policy. Conversely, I'd like to make use of third-party libraries without worrying about them disputing my copyright claims.
This is in resonance with the SQLite (non)license, which states:
The author disclaims copyright to this source code. In place of
a legal notice, here is a blessing:May you do good and not evil.
May you find forgiveness for yourself and forgive others.
May you share freely, never taking more than you give.
Taking a page from this wonderful checkin from the extremely successful SQLite project, I'd like to begin the process on disclaiming my copyright over Pugs, as well as on my CPAN modules, perhaps registering this fact on the Creative Commons repository at the end of the process.
I'd like to take these steps:
- Move all third-party dependencies to a clearly marked contrib/ subtree.
- Disclaim my own copyright over the parts of the source files that makes up the pugs executable, adding to them per-file copyright-free declarations.
- Clearly mark that each aggregated modules under ext/ are under their own copyright owners and licenses.
- Implement the contributor policy, similar to the CC click-through screens, as part of the OSSF signup process on new commits for committers.
However, if people who have contributed to the src/ tree before feel uncomfortable about this change, that will necessitate a rewrite of those parts, so please voice your concerns.
Note that pretty much the same process needs to happen for Pugs relicense to Artistic 2, so this choice is simply that I think the SQLite non-licensing works better toward the goal of -Ofun. :-)
You truly are a remarkable person.
Kind regards!
Posted by: | 2006.04.21 at 10:43 AM
I think this change can be OK. I haven't contributed to the Pugs' source, but to the SVN tree.
Posted by: Bártházi András | 2006.04.21 at 12:54 PM
Just to be difficult, and not knowing if this even applies here, I'd like to link to
http://www.linuxjournal.com/article/6225
Posted by: Tom Insam | 2006.04.21 at 05:11 PM
i find the last reply very instructive. i hope you'll read it audrey.
i smiled hard at the last paragraph too. gotta love the lawyers... especially the ones helping out the good guys (and gals).
I recommend you at least make a license stating (please note you don't have to explicitly grant right to use for illegal purpose -- lawbreakers will just happily do so..) :
"it is hoped this software serves as a nice gift for you, (and you are hereby granted the right to use this software for any legal purpose whatsoever), however, absolutely *no* promise or warranty to this effect whatsoever is made. this software may chew up your bits and spit them out, arbitrariliy flip them, sag their voltage levels below acceptable noise thresholds, etc. "
note that more bland, and possibly less instructive, but possibly more useful, standard 'legalize' is also available as an alternative to this...
have fun !
Posted by: jeff | 2006.04.21 at 07:54 PM
I would copy the public-domain dedication from wikipedia or CC, and add to that any nice text you want.
I, James Mastros, also known as theorbtwo, hereby release into the public domain all data of mine in the Pugs repository, or transmitted on #perl6, or was at any time in the past in the Pugs repository, to the extent that this is possible. To the extent where this is impossible, I grant a worldwide, prepetual, irrevocable, ability to use, abuse, redistribute and republish that data without fee or consideration of any kind, including the ability to publish it under another license.
It is hoped, but in no way required, that the code will enrich the common knowladge.
There, that ought to cover it.
wp://Public_domain has more information on why actually putting something into the public domain is better then licensing it under very wide terms.
Posted by: James Mastros (theorbtwo) | 2006.04.21 at 08:43 PM
Thanks, James. :-)
Tom: I disagree with that article; the U.S. copyright office's Federal Regulation 37CFR201.26 (http://www.bitlaw.com/source/37cfr/201_26.html) clearly states that software author can dedicate away the copyright -- see section B3. Also read http://en.wikipedia.org/wiki/Public_Domain#Disclaimer_of_interest for some more research on this matter.
The Creative Commons Public Domain Dedication (http://creativecommons.org/licenses/publicdomain/) works with software as well, and I intend to use it as a convenient registry for my CPAN modules as well.
Jeff: Cute. :)
Posted by: Audrey T | 2006.04.21 at 09:05 PM
Thank you!
Glad to see someone, especially a prominent active someone like yourself take a stand against yet another restrictive license.
After Allison brought up "compilation copyrights" back in October on the perl6-internals list, I've been conflicted as to whether or not to spend my free time on Perl related projects.
The last thing Perl needs is the appearance of licensing conflicts or landgrabs by TPF. Imagine the uproar when people discover that TPF intends Perl6 to be incompatible with the LGPL!
I'm not a particularly gifted or prolific programmer. My absense in the community is no big loss. But I know many that have wandered away from Perl in the past 2 years.
I hadn't really considered attributing code to the public domain. But then, I don't participate in open source projects with the desire to put limits on how others can use it. So why not?
It is nice to know that with Pugs at least, I won't be conflicted. Now where did I put those tuits?
Posted by: Garrett | 2006.04.21 at 10:47 PM
What exactly does this new license mean, then? Does that mean that I can't retain copyright on my contributions? Does that mean that the new CGI and HTML::Entities and Cookbook stuff I wrote are all public domain whether I like it or not?
Heck, if O'Reilly ever wants to publish a Perl6 Cookbook, would they balk at using public domain code? I'm not sure how how all of this fits together.
Posted by: Ovid | 2006.04.24 at 04:22 AM
Ovid: The public domainess only covers the src/ tree, as well as my disclaiming additional restrictions for "compilation" of the Pugs release.
All ext/ modules, examples/ scripts, still retain whatever copyright notice they were originally under.
Posted by: Audrey T | 2006.04.24 at 10:19 AM
I wrote a non-licence, although I haven't used it yet for anything:
http://downlode.org/log?2005-01-14/Mu_Licence
Posted by: Earle Martin | 2006.04.24 at 10:08 PM
Any information as to why the LGPL and Artistic license are incompatible?
This is a disheartening advancement, to see a program going from Free as in No License Fees to Free as in Free Trade.
I certainly don't agree with this decision and will not disclaim the core rights over code I wrote. My contributions to src/ are very few in number, but you should be aware of the US copyright law concept of "derived work", through which copyrights propagate.
Do you understand that you essentially require every copyright holder's permission to back out their changes? Otherwise you have a derived work based on their changes, even if you reverted and re-implemented them. This is quite well recorded in the cripplingly linear SVN history.
To avoid this you will have to basically drop your repository and start again, only including patches from those people who have explicitly disclaimed their copyrights.
Bet you wished you were using darcs now, huh? :) "Uncommit" is quite clearly making a new work without the changes you removed.
I will happily disclaim all copyrights based merely on this US copyright law concept of derived work, so your suggestion of reverting and reapplying patches is fine for my few changes. I think chromatic has essentially given this permission with his use.perl.org post on the topic as well. I wish you well in gaining this permission from all the other contributors who you will be contacting to ask for them to disclaim their copyright altogether, or at least the rights of a derived work.
I recommend consulting with the FSF for a more well educated view on the issues at stake here. Yet, I agree wholeheartedly with Earle's Mu License.
Posted by: Sam Vilain | 2006.05.20 at 07:27 AM
Ack, didn't realise how dead this horse was.
Relicensing under the MIT license is fine with me.
Posted by: Sam Vilain | 2006.05.20 at 07:45 AM