DerekAllard.com

BambooInvoice may be moving away from the GPL Open Source License

I’m finding this post difficult to write.  Not because I’m having internal conflicts, but rather because I know think that this will cause some tension among Bamboo users.  Please read to the end before you jump to any conclusions.  Here’s the “executive summary” if you’re just wanting to skip to it.

Punchline: I’m thinking of doing away with the GPL as the license I distribute BambooInvoice under.  By way of explanation, here’s a bit of history.

Around February of this year, a CodeIgniter user contacted me privately to point out that someone was re-distributing BambooInvoice as their own work.  I’m not going to use any names or URLs (no point in adding any publicity to them), but they essentially called it “their business”-Invoice.  So they offered it for download under a different name, and claimed it was their invoicing software.  They offered a “demo” (identical in every way to Bamboo) and it was apparent to me that all they really did was a giant search and replace of the word “Bamboo” with “their business”.  No credit to me.  No mention of Bamboo, no CodeIgniter license (that was visible), nothing - just a wholesale search and replace.  I note with some amusement that they didn’t even bother changing my lame jokes or my less-then-creative writing… but they did take the time to remove my name and replace it with theirs (nice work jackass).  I sent them an email asking them to take it down or at least credit Bamboo, but got no response.  About 3 days later, the site dropped off the face of the earth, and its been a non-issue for me since.

More recently, a loyal Bamboo user (and it turns out a good guy) was unhappy with the lack of a specific feature in Bamboo, so he implemented it himself.  So far, so good - in fact, I actively encouraged this.  I should point out at this point that he was very transparent about it, and I even offered advice on what he would need to change, and we exchanged several emails.  At the end of it, he had done a considerable amount of work, and he then re-branded it and released it as a competing product.  Again, search and replace of BambooInvoice.  While he couldn’t have known it at the time, what was going through my head was “here we go again”.  Now to be fair, this one had a happy ending.  I opted to build in the functionality he was seeking, and he’s since stopped offering the competing forked code, become a great community contributor.

But the experience of thinking someone had co-opted my work, twice, has led me to want to change the license - and the main underlying reason is that I don’t like the idea of anyone being able to fork BambooInvoice.  Yeah, its probably an ego thing, but one could go so far as to say that the GPL in the case of Bamboo actually causes less freedom then I want with it - for example, I believe it would be legal under the GPL for a developer to take the code of Bamboo, re-brand it to BamfooInvoice, rewrite all the content to say that they are developing Bamfoo, and remove all references to me, and put it online and offer it as a hosted service; never making the “guts” available to the people who are using it.  And even if they are making the code available, I find it somehow distasteful that they won’t necessarily be offering their users the latest code.

My goal with BambooInvoice has always been to offer a freely available, code-viewable piece of high-quality CodeIgniter software.  It currently represents about a year and a half worth of on and off work, and frankly, I like that I get a large measure of control over the code that I wrote.  But let me be clear: I have no objection to people changing the code on their installations, and I have no objection to people pulling it apart, sewing it back together, and then taking it apart again.  I have no objection to people using it personally or for business, and even removing the BambooInvoice “brand” for the purpose of sending invoices to their clients.  In fact, the more people who are using it, the happier I am.  Here are the attributes that are important to me in a license:

Basically, I want to keep “ownership” of BambooInvoice, but provide people with the freedom to do anything they want with it on their individual setups.

Yes, I know that the code that is currently out there, is “out there” under a GPL license.  I wouldn’t want it any other way, but for future versions of Bamboo, I’m leaning towards a license that is more inline with my goals.

So where do I go from here?  I’m not sure.  Firstly, I need a new license to release under.  I don’t want to write my own (ugh, legalese).  I’m thinking about one of the Creative Commons licenses, or perhaps another open source license.  I’d really welcome feedback in this area.

I’m also looking for personal feedback from Bamboo users.  Does this upset you, or does it empower you to know that there is a committed author behind the product who wants it to be the best possible.  Will this impact on your choice to use Bamboo?  Are you supportive?  Opposed?  If you don’t want to post to the blog, just write me privately.

This entry was made on and filed into BambooInvoice.

Comments

Bastien Jaillot wrote on

It’s sad.

I hate that’s kind of people who wants to take all honor of something they didn’t done…

Jochem D. Donkers wrote on

Think you’ve got some very valid considerations.  with communism: to good to be true. To me the promise that you will keep it available - possibly for free but not essential - and that users can modify it to their needs would be sufficient to use BambooInvoice.

Cliff wrote on

It’s sad that it had to go this way.  Some of the CC licences may be just what you’re looking for e.g. their Attribution-Noncommercial-No Derivative Works may be just the ticket.  Found here http://creativecommons.org/licenses/by-nc-nd/3.0/

Jean-Philippe M wrote on

I don’t think changing the licence will actually change the behavior of people who are already violating the gpl licence, which forces them to give credit (at least with the source).

A good idea to reach you goal might be to use a exception similar to the one that the phpbb authors are using : They release their software as GPL but users are forced to keep the copyright on every page of their forums.

Lewis wrote on

I totally understand, I’ve experienced similar problems. It seems that the GPL is unclear about whether or not to leave in copyrights in outputted text. It also seems to be taken for granted, and a lot of people think of GPL as they can do what they like with it.

So I’m 100% behind you and I think the creative commons license will give you the perks of open source software, but whilst retaining the credit you deserve.

I think GPL is better suited to projects where there are multiple contributors and developers behind it, like Wordpress - because otherwise it would be hard to say who retains the copyright to the general software etc. Whereas Bamboo Invoice is clearly developed by you, but with small contributions from other users.

Jason wrote on

I think you should do what you want. It’s your project. I like the way codeigniter license their project. I would do the same thing.

Woody Gilk wrote on

I completely understand this kind of crappy situation, but at the same time, you have to remember that some people will be jackasses, no matter what.

Just because you place a more restrictive license on a piece of software that is in the public domain does not mean that someone won’t do the same thing again!

Personally, I would go the other way, and release BI under BSD license. Once you truly GIVE away the software, it becomes less painful when someone forks/steals your code.

I doubt you would be willing to take that step though, since you seem more concerned with preventing people from forking your work. Humbly, preventing people from forking public code is the most egotistical thing a programmer could do, and it gives me a bad taste in my mouth.

Lewis wrote on

You probably got your terms mixed up, but in the public domain means it has no copyrights. I think you mean publicly available.

And you’re right it may not stop thieves from still trying to pass it off, but as the story explains even nice people didn’t credit him.

Woody Gilk wrote on

Ah yes, sorry, I didn’t mean to say “public domain.”

I think a large majority of licensing issues come from misunderstanding, not from people honestly trying to steal code. The nice people can be spoken to, they are usually pretty reasonable.

Lewis wrote on

Agreed, and the GPL license isn’t totally clear about its requirements about visible copyrights.

Madz wrote on

Hi Derek, sorry to hear the crummy situation that you are in. Once, a professor said, Bricolage; invent and re-invent. But how far would you re-invent something without proper credit to the original producer? Coding is a funny thing, I often look at others source code and learn from it but not entirely to the point of copy and paste and claim it your own, you know what I mean?

I really don’t have much experience in terms of licensing, you probably know more but from what I’ve heard/seen/read (so far anyway) creative commons is a good choice.

You should take pride in all the hard work that you’ve done and not let others say take advantage of you being nice about it.

rob wrote on

gpl is a touchy subject.  i believe in theory it only means that your name needs to be included in another’s mod of the original source.

i say copyright it however you want BUT STILL MAKE IT FREELY AVAILABLE :-)

i have a side suggestion.  if you were willing to maintain control but open up BBI for more coordinated development i for one would be glad.  it would mean both more and less work for you.  less in the sense that other’s will contribute things you don’t and probably faster than you do.  more in the sense that there is more project management that needs to go on.

i make the suggestion because although i totally dig bbi, some basic functionality is missing and because you are the sold developer, it doesn’t get implemented in a very timely fashion and somethings don’t get implemented at all.

please don’t take this as a knock.  i’m VERY grateful for what you’ve offered freely of your own time.

i just think the project / app would be that much better and already be a complete invoice system had you opened it up instead of rolling the entire thing on your own.

and you likely wouldn’t have a bunch of snakes doing one offs and trying to call it their own.

just my 25cents.

dedenf wrote on

hi Derek, i feel sorry for the situation you had. and i think the who so-called programmer /company who stole your code should learn and respect others hard work.
hope you’ll get the proper license for your BambooInvoice (i don’t have a clue about the kind of license)

Alex Williams wrote on

Sorry to hear this Derek.

As others have mentioned, a license will not “prevent” people from doing what they want, just ask the RIAA ;)

I don’t think this is something you should waste your time with, but if you insist: you can always revert to an “older” version of the GPL license. That would require you to identify the nuances between different versions…

Good luck!

McC Coffey wrote on

I am new to codeigniter. I have been using your bamboo invoice to help my CI learning curve. I can’t tell you how helpful it has been and I only installed it this morning.

Many thanks for all your hard work. Whatever you decide to do I wish you the very best of luck .. and sod the schmucks.

CodyPChristian wrote on

I know exactly what you mean Derek. I have forum software I wrote using CodeIgniter and I’m worried about the exact same thing happening to me if I release it. Which is why at this point I’m not going to release it for this exact problem that your having(had).

Andrew Zajac wrote on

The GPL is after all a license which is meant to protect the user.  I would wonder “what’s no longer in it for me?” if you decide to change license.

If you want to retain complete control over your project - and by that I mean prevent others from taking your code without giving you proper attribution, then I would suggest that none of the free-libre open source licenses will satisfy you.  By preventing redistribution of your code, you are not providing it under a truly free license.

That’s fine - it’s your choice.  I would just chose to not use it, though.  Although this project is currently a one-man show, the potential for it to be much more than that is ever-present when it is under a GPL-compatible license.  My decision to chose one project over another it largely based on where I think it will be in the future.

As for Creative Commons, even Lawrence Lessig discourages their use for software.  CC is only really useful for creative works.

http://wiki.creativecommons.org/FAQ#Can_I_use_a_Creative_Commons_license_for_software.3F

To be perfectly frank, CC is much less evolved than the software freedom licenses.  Software freedom has clearly defined the goals of free software and what is needed to achieve them.  In contrast, CC is very young and the community surrounding free creative works is still immature.  I don’t think you will find what you are looking for there.


Good luck.

Eric Davis wrote on

There are always going to be people who take an Open Source product and try to “make it their own”.  Changing the license to be more restrictive wouldn’t bother these people one bit but it will affect your real users.

I would stay with the GPL because that is what it is currently and please don’t try to write your own license, there are too many as it is.

a-optic wrote on

Creative Commons sounds good , but this would change the mission of your software since you want to offer it free to small business. I think you may go to a lawyer (not cheap solution) and create something inline with what you want to offer. This is very hard topic. GPL is nice but maybe you can use (free solution) a BSD License   and amend to that (again wording is everything so a lawyer would do a better job)

Travis Swicegood wrote on

You might want to consider the GPLv3.  SugarCRM recently dropped their proprietary SugarLicense in favor of it as it still afforded them the level of control over the name that they were after while keeping from introducing the world to Yet Another License v10k :-)

David Brown wrote on

An excerpt from GNU GPL:

Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:

  * a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
  * b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
  * c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
  * d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
  * e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or

The Man of Steel wrote on

Dang, there goes my plan of copying it, changing the name from “bamboo” to “boobies” and charging a monthly fee for access.

I think all the things you want is actually covered under the Canadian version of the GPL.  If anyone asks just point them to faqabootcanadiangpl.ca and make sure it goes to a 404 page.

Miguel wrote on

I dont think that changing the licence will solve any problem, there is no diference between breaking the GPL licence or any other, people that dont respect licencies will not respect any licence no matter what licence you have adopted. This is one of the main reasons why many companies dont opensource their products, because people dont respect the rules. Its a shame but that the way it works. Personaly i dont use Bamboo invoice for anything other then learn and get ideas for my development with CI, and i have to thank you Derek for having this great example avaliable to us.

erichka wrote on

Puuhh… what happened to you is the reason why I offer my code free but always obfuscated. And yes, it is a ego thing! I for myself want the people to know me as the programmer - it is what keeps me working and gives me power to do more and more.

So I understand your thoughts and I encourage you to do so and change the licence.