Adium

Of licensing

So Adium always has and always will be Open Source. Even the Adium 1.x codebase (not to be confused with the Adium X 1.x codebase) has been.

However, there’s all of these different problems associated with Open Source in general. For instance, a portion of the developers currently working on Adium prefer the BSD (the new bsd, 3 clause not the old 4 clause) license. And while a lot of them do, we can’t really change the licensing.

Open Source itself is rather funny in that if someone contributes something, what say do they get from then on out? Assumably they get a say over their contributions, but in reality they get a say over the entire kit. For instance, if I submitted a patch that was GPL for one of the more useful classes in the codebase, and it was accepted, the codebase could no longer be changed to say.. LGPL, until the Adium Project got my permission to change the license, or they redid my code with a clean room setup.

Clean Room?

But Chris, you ask, Chris, what is a “clean room” implementation? My apartment is pretty clean, is that it?

Why no. It’s actually kind of involved. Basically one guy reads and documents the code you want to relicense, and then another guy (or girl! girl hackers rule) writes new code based on the documentation. The bonus is you get a rewrite, and the con is the time spent plus losing already tested code.

GPL V3?

So the interesting bit to this, and why I am posting this in the hopes of getting a response, is how do we take this with Adium? We’ve got a ton of code from people we just can no longer contact. We attempted to contact them all about 8 months ago in order to relicense or at least just have their approval in the future. As such, since it’s GPL V2 that they submitted in, how can we really move to a BSD license?

Or better yet, how do we move to the GPL v3? Now, I know the licensing states that we can, but that’s just a technicality. What about the moral ramifications of doing so? What if one of our contributors hates the GPL V3 and doesn’t want anything to do with it? How are we to know their wishes, and what if anything do we do about it?

Or better yet, we use OTR for encryption, could that be misconstrued as DRM in a court of law? I’ve seriously had someone ask me this.

The reason I ask this is because the GPL V3 is already held with a lot of contention in the Linux community, but nobody has really spoken about it in the Mac community as such. For instance, does any code compiled by gcc with a GPL V3 license mean that iTunes cannot be compiled with it, since it has DRM built in?

Stop yer yammering

So ya, it’s kind of interesting I suppose.

20 Responses to “Of licensing”

  1. Anonymous Says:

    I would suggest posting licensing according to the predominant engine that the underlying IM’s are tied to. I know that this used to be libgaim, but I think you are using a diferent library for most of your stuff if I remember correctly.

    I am sure that someone else in the community could give you the name of a person steeped in OSS legalities that would be better able to guide you, though. Anyone with name dropping abilities please post.

  2. standardmess Says:

    Just out of curiosity, since I have dabbled from time to time with computer programming (and Adium hacking), what are the benefits (briefly) of the BSD licensing scheme over the GPL?

  3. Anonymous Says:

    ask nicely?

  4. David Smith Says:

    It’s entirely academic for Adium, as we cannot switch from GPL without the consent of all current and past contributors, some of whom we have no means of contacting.

    The benefits of BSD vs. GPL are interesting. The GPL defends its freedom by refusing to let anything copy GPL code, or even attach to GPL code, without the thing being GPLd itself. BSD on the other hand takes the attitude that those sorts of restrictions are un-free, and says “do whatever you want with this code” essentially. LGPL takes a middle ground of “you can attach to this code, but can’t copy or use pieces of it unless you’re GPL or LGPL”. I personally like LGPL and BSD.

  5. standardmess Says:

    David, thanks for the information!

  6. aitikin Says:

    I see benefits in both the GPL and the BSD licensing schemes. GPL makes sense because you are striving for a “Free” as in beer and speech (despite the fact that it’s not free speech in the us…not going into that). I would say that, for a product such as Adium, BSD or LGPL is much more practical. My only solid, non-hypothetical situation, reason for this is, and I could very well be wrong on this, if the project is completely GPL, than doesn’t the Xtras section have to be completely GPL?

    It is a technicality, but if someone gets seriously mad about their Xtra being misused, then it could be a heap of trouble.

    Maybe I should take my tinfoil hat off….

  7. Beckman Says:

    The goal of a license, and more specifically of the licenses you are considering, is to protect the code from (a) use by someone who charges for the code, modified or otherwise, (b) to make sure it is kept free/open for perpetuity.

    Changing licenses CAN be a problem if the spirit of the code from the past is not met in the new licensing. If you are moving to a new license that provides very similar protections as the code being used, unless someone objects and sues you under that license, you are fine.

    The license is solely to have an enforceable, legal position if someone violates the license and you want to sue them for breaking contract law.

    Document your attempts to contact old developers, document your request for comments on a license change, and if you’ve done due diligence, nobody will have a legal standing to be ticked off at you for changing the license.

    If you are really, really worried about this, get a lawyer. If you can’t afford one, call the EFF and they may be able to have a lawyer advise you. If that doesn’t work, you must do what you feel is right, of course.

  8. Anonymous Says:

    sorry for beeing offtopic.
    maybe your readers would be very interested in the soc outcome. as far as i know the jabber enhancements are dropped for compatibility issues.

    could you give us some info? :-)
    would be very nice. thanks

  9. Anonymous Says:

    I really appreciate free software, and specifically Adium. (I think it’s the only open source software that I use.)

    However, the whole open source licensing situation just seems ridiculous. Instead of being constrained by corporate roadmaps and having to pay for software, we are held hostage by ideologues. It’s all free in different ways, but not necessarily in compatible ways. There are always various strings attached to how it can be used.

    If you are going to release source code to the public domain, it should be w/o strings attached. The way it is now, it’s like saying if everyone doesn’t play the game the way you want, you will take your toys and go home. The end result is five people, all with different parts of the game and different rules for each piece, ruining the game entirely.

    This is not directed at the Adium folks, just a rant on open source licensing in general.

  10. Anonymous Says:

    Sorry, What is the current license for Adium 1.0 ?
    And Adium X 1.0 ?
    ( I suppose different part are different license )
    Since you mention trying to change to a single license- BSD.

    What is the problem of the current method of development?

    And cant we change it to BSD and put something like if some dev have problem with their code being GPL just email to you?

    Obviously since you have tried to contract all of the Dev those who you cant contract properly wont matter ?

  11. Anonymous Says:

    So…. I don’t wanna sound like an ass, but could you maybe spend less time blogging about Adium and more time actually MAKING Adium?

    Seriously, you guys are giving Microsoft a good run for their money regarding overdue products.

  12. Anonymous Says:

    Something being overdue would probably require there to be a due date.

  13. Chris Forsythe Says:

    To the anonymous who was rude and implied that we aren’t working on Adium, we’re pretty close to getting 1.0 out. I do most of the blogging, and what I do on Adium does not involve much of any code.

    If you’d like to see Adium sped along faster than we are working on it, you can provide one of two things:

    1) A full time paid person to work on Adium. That’s right, nobody is paid to work on Adium.

    2) You putting forth patches to further Adium along.

    It’ll be done when it’s done. We all either go to school or have 1 or more full time jobs. If we were paid to work on Adium I could see your aggrivation being somewhat more reasonable, but Adium .89.1 is decently stable and should still work in most situations. We want to get the next version right, and we’re about 3-4 issues away from that out of almost 700. We never put due dates on releases because it doesn’t make sense for us, so your point of comparing us to Microsoft, a billion dollar corporation with tons of money behind it, is flattering but probably not a good comparison.

    So, your patience is appreciated.

  14. Jasarien Says:

    Well said Chris.
    I think what most people don’t realise is that Aidum X has more than one page on it’s website ;)

    If they checked the other pages they’d probably see the community, effort and work put into Adium.

    Also, if people are too impatient to be able to wait for a new release, try the beta? Then you can help with bug reports and testing as well as trying out the new features before they go final.

    To do with the licensing issue, it’s something I’ve never really gotten into and I don’t know much about. But in terms of not being able to change without previous coders consent should be irrelevant if the coder didn’t give accurate enough information to be contacted, or if they weren’t bothered about updating their contact information.
    The way I see it, if you can prove that you’ve attempted to contact them and were unsuccessful, then that’s implied consent.

  15. Jim Says:

    Open Source itself is rather funny in that if someone contributes something, what say do they get from then on out? Assumably they get a say over their contributions, but in reality they get a say over the entire kit.

    This isn’t a quirk of open source software; it’s the same for all copyrighted works. If you don’t want to get specific permission you have to get blanket permission. Several open-source projects require all contributors to assign copyright to non-trivial contributions to a single entity so they can change the license. Others consciously avoid this; Linus Torvalds, for example, thinks it’s a great strength that Linux couldn’t readily be relicensed even if all living contributors wanted it.

    As such, since it’s GPL V2 that they submitted in, how can we really move to a BSD license?

    If you feel that strongly about the license, you can remove their contributions and rewrite them. In the future, you can require copyright assignment. Of course, that can discourage contribution. Seems like a waste of time to me, but it’s not my project.

    Or better yet, how do we move to the GPL v3? Now, I know the licensing states that we can, but that’s just a technicality. What about the moral ramifications of doing so? What if one of our contributors hates the GPL V3 and doesn’t want anything to do with it? How are we to know their wishes, and what if anything do we do about it?

    The “any later version” clause is optional. When I apply it to my work, I mean it. It isn’t a “technicality”, it’s making my wishes known.

    Or better yet, we use OTR for encryption, could that be misconstrued as DRM in a court of law?

    OTR doesn’t restrict the user’s ability to “run, modify, and propagate” the program, so no.

    For instance, does any code compiled by gcc with a GPL V3 license mean that iTunes cannot be compiled with it, since it has DRM built in?

    More generally, the question is whether the work a person produces with a program is legally considered derived from the program. And the answer is no.

    GCC is a special case; many programs compiled with GCC, including iTunes, link to libgcc or libstdc++. These are licensed under the GPL with a linking exception, much like the LGPL, expressly so that GPL-incompatible software can use these libraries.

  16. Jim Says:

    I would say that, for a product such as Adium, BSD or LGPL is much more practical. My only solid, non-hypothetical situation, reason for this is, and I could very well be wrong on this, if the project is completely GPL, than doesn’t the Xtras section have to be completely GPL?

It is a technicality, but if someone gets seriously mad about their Xtra being misused, then it could be a heap of trouble.

    Generally, plugins for GPL applications must also be GPL, but it depends on the kind of plugin. (For example, it wouldn’t apply to a dock icon set, which is just some images and a property list.)

    If someone made a GPL-incompatible plugin, they would be infringing the copyright of the Adium developers, not the other way around. So this really isn’t something Adium developers or users need to worry about. A number of GPL programs offer a specific exception for GPL-incompatible plugins, but this would still require the permission of all contributors at least to the core.

  17. Christopher Schmidt Says:

    “04:37:08 <jcowan> Actually you can change the license. The notion that all authors must agree is just folklore.”

    http://www.publaw.com/joint.html has more information.

  18. henrrrik Says:

    If a licence change or upgrade is possible, I would go with GPLv3. With BSD anyone can use all or parts of the code in closed source projects without having to contribute improvements back to Adium.
    The more controversial aspects of GPLv3 such as the anti-DRM measures to prevent TiVo-azation of GPLed code shouldn’t hinder the Adium project.

  19. oomu Says:

    the gpl licence of gcc has NOTHING to do with the binary created

    you can even compile windows with an hypothetical gpl3 gcc, put all the drm you want, keep the source code for you, take over the world and NOTHNG in the gpl2 or 3 will prevent you.

    you do WHAT you want with the CREATION made by “gpl” licensed TOOLS.

    okay ?

    you can go on gnu.org to read human readable explanations of the legal licence.

    you have NOTHING to be afraid

    of course apple can compile itunes with ALL DRM they want with Gcc or a new hypothetical gpl3 gcc.

    no problem.

    gpl3 is : you cannot try to take control of the whole project in contributing source code with drm scheme or a patent forcing all users to loose right the licence try to give them.

    it’s provision to PROTECT the freedom of the PROJECT.

    NOT your creations
    YOUR creations ARE YOURS.

    for example :
    Adobe photoshop has NOTHING to do with YOUR rights on YOUR PICTURES . why ? because NEVER Adobe put the contrary in their photoshop license. it would be foolish to do otherwise.

    it’s the same with gpl (2 or 3) licensed TOOLS.

  20. Jim Says:

    “04:37:08 <jcowan> Actually you can change the license. The notion that all authors must agree is just folklore.”

    http://www.publaw.com/joint.html has more information.

    What that page says is that certain principles are assumed in the absence of a formal agreement. Apparently this jcowan thinks a license doesn’t count. Good luck with that in court.