How NOT to Push a New Open Source License, Part 2

How NOT to Push a New Open Source License, Part 1

Maybe it’s time for yet another open source license — but Bruce Perens’ covenant isn’t it. Instead, consider this:The Respect The Programmer License (RPL) Version 0.3

This file copyright (c) [year] [your name] [your email address]All rights reserved.

1. You may use, create verbatim copies, and/or distribute this file, but you are not required to. You shall not modify this file or any copies.

2. If the file is written in a scripting language that runs in an interpreter, you may use this file, unmodified, in your program, and distribute it with your program.

3. If the file is a source code file that is normally used to generate a compiled program, you may use this file, unmodified, as part of the source for your program. You may distribute the compiled program with or without this file.

4. This file is provided “as is” and without any express or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.

5. The RPL is copyright (c) 2011 Barbara Hudson. Permission is granted to use the unmodified RPL to license your software. The canonical copy of this license, the release notes, FAQ, etc., can be consulted at

End of license

For further information, contact Barbara Hudson at [email protected].

Interpretation/Deployment Notes

A. The RPL addresses one problem prevalent in most licenses, including the BSD, MIT, and GPL — it’s easier to just edit the file in front of you to fix a bug or add a feature than it is to contact the author and make sure everyone benefits. The RPL should eventually result in less duplication of effort and more, not less, sharing.

B. In the case of namespace conflicts (such as java or c++), please check to see if a similar file with namespaces is available from the author. The author will probably be happy to provide one, since you may not be the only person asking.

C. In the case of line ending conflicts, please check the author’s website to see if there are Apple/Mac, DOS/Windows, or Linux/*NIX versions available. The author will probably be happy to provide one, since you may not be the only person asking.

D. If you need a modified version of the file, please ask the author. She or he may already be working on a new version with the changes you want. Alternatively, the author may be willing to write a custom version for you. Licensing terms for any such custom version are entirely at the author’s discretion, and are not governed by this license.

E. This is an open source license — you are free to view the code in this file and use it, intact, in any program you wish. This is not a copyleft license — you are not required to distribute this source file with your program. This license grants you the freedom NOT to redistribute the source if you so choose.

F. You may charge any price you wish to distribute this file, and/or any program you create using it.

Remarks on the RPL

If code is written properly, it should be easy enough to integrate source files without changes. Worst-case scenario, those who use code licensed like this may have to create a “wedge” or “shim” file to interface between their code and the licensed code — but that’s good practice because it means that when an update is issued, the shim should mean that the new source won’t have to be modified.

Not being copyleft means that it’s more likely your code gets used. Some people will distribute it (in the case of run-time scripts, they really don’t have a choice, right? 🙂 and this way you get credit for your work — maybe not from the general public, but at least from your peers, which is what counts. People also know whom to contact for fixes and enhancements, leading to less waste and duplication of effort.

To those who whine “I don’t want Google/Microsoft/Apple/whoever to use my code!” — why not? Really, if you think they’re evil because they close off code, how are you any better by doing the same to them? (plus, whining is for kids).

“But it conflicts with our anti-copyright anti-business agenda.” Put down the bong, grab a bar of soap, and stop acting like a freetard. You’re giving the rest of us a bad name.

Not being able to modify the source — I can hear some of you going OMG THAT IS AWFUL! Hey, this is about respecting the programmer’s copyrights, same as you can’t modify that last book you bought. Since you can’t modify or fork the file, maybe you’ll collaborate with the author for a change, hmmm? Make sure bug fixes and enhancements get upstream. Or maybe even *gasp* pay them for some custom code — or send a gift certificate for chocolate or a bottle of booze or something.

This isn’t inspired by Borland’s “Just Like a Book” license for its compilers (you could order the source libraries to examine, but not modify or share), but it has similarities. It’s an improvement in that you can distribute the source if you want, and you can have multiple copies. But like Borland’s license, you are not free to modify the code itself. Most projects should be able to accommodate that sort of limitation.

Barbara Hudson's daughters and her dogs are a large part of who she is. As for computers, she's been writing code for longer than she really wants to admit. Now that she's returned to independent development, her current focus is on creating simpler and more secure code libraries. Her dream project? Creating the ultimate chess program. You can contact her at [email protected].


  • This is not an open source licence. It fails to meet criterion number three of the open source definition.

    Plus the BSD has a huge advantage compared to this. Forking, you don’t have to rely on any particular dev playing nice or not dying or losing interest in order to have an up to date program with the features you need. Repeat after me, if you can’t fork, it’s not open source.

    It will create fare more problems than it fixes. The first version of the GPL required modification be sent to the original authors. Even Stallman quickly realized it really wasn’t workable and not many people were willing to pay that much for free software and struck the clause out.

    In order to get people to share, you actually need terms that interest them. People who are inclined to tweak your code are going to lose interest if it takes two weeks to get line endings changed in the code, or are going to modify it anyways and in secret and not tell you to protect their ass from a lawsuit.

    The best way to get people to share thier ideas and improvements is a combination of education, and creating an environment that is welcoming to newcomers. An NIH mentality is one of the fastest ways to decrease the effectiveness of your open source project.

    The solution is making it easier to contact the authors and forming a culture and community where it is considered desirable to do so, and does not lie in legal controls. Legal controls mean that you don’t really trust the people you engage them with. If you can’t trust your community, why should they be willing to trust you?

  • Your license actually looks pretty good – but it’s missing something important. Joe Smucker creates some software, which is found useful by a few hundreds of people around the world. Joe maintains his code for 10, 30, or 50 years, then old Joe croaks. Joe didn’t leave a will, has no heirs, and no one now "owns" the code – unless it’s the state. So – those few hundreds of people who found the code valuable are pretty much out of luck.

    Some mechanism should be in place for that code to eventually enter the public domain. And, I CERTAINLY don’t mean the life plus eternity that most of the *IAA organizations are pushing for!!

    If you’re going to respect the author, sure, reward him for his efforts during his lifetime. Then, ensure that his work isn’t "lost" after his lifetime!

  • It is nice to see someone take all the politics and BS out of licenses and make a simple, easy to read and follow software license. Its simple, doesn’t need someone with a law degree to interpret it, no gotchas that I can see, just an easy to read license that protects the coder while letting the user have rights too. Nice work Ms Hudson, very nice.

Leave a Comment

Please sign in to post or reply to a comment. New users create a free account.

LinuxInsider Channels