Half-Elf on Tech

Thoughts From a Professional Lesbian

Tag: license

  • The Legality of Forking

    The Legality of Forking

    Update: This post is just about the legal aspects of forking. If you just want to talk about the morality of it, please go read The Morality of Forking.

    You may have heard about this. WooThemes hired a couple of developers who used to work for Jigoshop, and forked one of their plugins.

    Last week WooThemes announced the hiring of Mike Jolley and Jay Koster, as well as the forking of Jigoshop e-commerce plugin into the soon-to-be-released WooCommerce. Jolley and Foster previously worked for Jigowatt, a WordPress and Magento development shop, spending the last year working on the core of Jigoshop.(WP Candy: Jigoshop team and WordPress community members share thoughts on forking)

    When you read it that way, it looks a little weird, doesn’t it?  Shady even. After all, this is a case of one company cherry picking ideas from another, and then taking developers to continue working on their version.

    Here, read this view of events:

    But of course, open source makes it so easy to simply “steal” someone’s idea and hard work.  And justifying it by hiding under the umbrella of open source and “legal” forking. (WooThemes Forks Jigoshop and they brag about it)

    I’m going to go out on a limb here and present a point of view that many people will disagree with.

    It’s not theft.

    Freedom is a complicated, annoying, thing, and sometimes having a freedom means you accept the consequences of that freedom. In the US, we have freedom of speech, which means we can bitch about our government if we want to. But that also means someone else, who has the polar opposite of your views, has the exact same right you do. And I will defend that person with my dying breath that they have that right, no matter how much I detest what they’re saying.

    You have to keep that in perspective when you start talking about rights and legality. WooThemes had the legal right to do what they did. That doesn’t mean you don’t get to think that it was a dick move, and you may, but what it was, was 100% above-board. They were honest about it, and it was legal. The GPL affords us the freedom to make plugins, fork WordPress if we wanted, and do what we want, so long as we don’t restrict the freedoms even more.

    We pay a heavy price for these freedoms, don’t get me wrong. All freedoms have a cost. We all pay for them. Thomas Paine’s famous quote reflects on the ‘free’ part of open-source in a strange way: “What we obtain too cheap, we esteem too lightly; it is dearness only that gives everything its value.” The core code of WordPress is free to us, and perhaps we devalue it for that price. Certainly the unrealistic expectations of many users is that this is a free product, and as such they deserve all things for free.

    It’s possible that many people are dismissing this forking because hey, it’s a free world! WordPress is free, the plugin was free, the plugin was GPL, we’re all free to do what we want. But WordPress, when it hands us a dizzying array of freedoms in usage, is clearly giving us liberty that can be easily abused. It’s possible this is the case of abuse of that liberty. To judge that, we have to look at the whole picture.

    Woo’s bid to buy out the Jigoshop project grossly undervalued the business and didn’t come close to covering our initial development costs, not forgetting the planning, time and effort both the Jigowatt team and community put into the project.

    Woo then made to an offer to ‘collaborate’ which led to their decision to fork Jigoshop. What hasn’t been made public is that collaboration offer included conditions which would have given WooThemes full strategic control over the direction and development of the Jigoshop project in the future. (Jigoshop: Our Forking Views)

    So clearly we can see that an offer of purchase, and collaboration, were made. They were felt to be not right. That was Jigoshop’s right and choice. Was it the correct choice? Only time will tell. That holds true of both Jigoshop and WooThemes. But up to this point, the whole deal is above-board, fair and just. And then WooThemes said ‘Well, they don’t want to work with us. That’s fair. We’re going to fork. And we’re going to take their core devs with us.’

    This is still not theft.

    See, WooThemes had no power to ‘take’ those devs unless Jigoshop undervalued them. That is Jigoshop esteemed their own developers too lightly. If the devs had been happy with their compensation, the direction of the plugin, and the company, they wouldn’t have left.

    If you are a company with an open source project gaining momentum, your core developers absolutely must have a vested interest in your company. And not 1%. It has to be a good chunk of the pie. Enough that the developers feel your company is also their company. Then if another company comes along to hire them, the developer is much more likely to tell them, “Buy the company or take a hike.” (Lessons learned from the Jigoshop – WooCommerce fiasco)

    In the corporate world, I’ve signed a contract that says, should I leave my company, there are jobs I have legally agreed not to take for 12 months following my termination. My contract also prohibits me from doing certain types of freelance work. Not that long ago, a friend complained that it wasn’t ‘fair’ that we were restricted like that. I looked at her and pointed out “No one made us sign these contracts. We read them, and we chose to sign them.”

    I’m no stranger to signing NDAs and other documents that restrict me from telling you things like who banks at the company I work for. I can tell you things that are publicly known, but not things that are not. That sounds fair, doesn’t it? I also can’t blog about my company with certain details, and on pain of being fired, I can’t talk to the press about anything. I don’t have to like it all the time, but it’s something I agreed to and that’s a choice I have to live with. Many of my friends who work in other ‘worlds’ can’t understand how a company can restrict my private life. I point out that I signed a contract that promised I wouldn’t, and I keep my promises. If I didn’t, would I be the person they liked and respected?

    No one here violated a contract, lied, cheated, or stole. So why are people chapped and are they right to be so?

    Right and wrong are tenuous. What’s right for you isn’t right for me, and that’s a part of why we have the law, which defines right for ‘everyone.’ Of course, we all know that even then, right is subjective. The law is imperfect, we know this, that’s why we have judges and jurys who listen to the situations that surround illegalities and make judgements based on not just the black and white of a situation, but the entire picture.

    What WooThemes did was legal and fair. End of story. We cannot stand and shout for the freedoms of WordPress and GPL without defending their actions. That doesn’t mean we have to like them. If this makes you decide to never support WooThemes or Jigoshop again, that’s your choice too, and one I will defend till my dying day. I feel that I should point out here that some people who are decrying WooTheme’s move are the same people who were all up in arms for Chris Pearson’s Thesis theme to abide by the GPL.

    We live by the GPL sword, and we’ll die by that sword for as long as we stay GPL. The community clearly wants to be GPL, or we’d not have gone after Thesis with such animosity. That means we have to accept that sometimes what’s right isn’t what we would do. But then again, no one’s making you use the forked plugin.

    Someone’s bound to bring up the fact that even Matt doesn’t like forking. That would be incorrect. WordPress is a fork of B2. Matt’s problem with forking is pretty easy to understand:

    Forking is not usually ideal because it fragments the market for users

    Notice how Matt doesn’t say he doesn’t like it, but that it’s not ideal? That does rather apply to this situation. By forking a plugin, you make two versions of it. Were we not all recently delighted when the TimThumb fork (WordThumb) merged with Tim to fix the problems? Were we not ecstatic when WPMU merged with WordPress to make MultiSite? Multiple plugins that do the same thing mean multiple places to have to patch.

    And yet. There are already a handful of similar plugins out there. Having competition drives people to make better products and prevents us from resting on our laurels. It’s great you made the best plugin ever, but now what? It’s true this fork may be damaging to the community, and it’s true that it may have caused hurt feelings. But what matters more is where are Jigishop and WooThemes going next? How will their plugins make themselves notably different?

    In the end, if you don’t like it, vote with your feet, but you owe it to yourself to defend everyone’s freedom with the same ferocity you defend your own. Even the people you hate.

  • You’ll Never Take My Freedom!

    You’ll Never Take My Freedom!

    I am an adherent to GPL.

    This means I understand what it means, what it protects, and what it does not. So when in the beginning of August I saw a guy selling 200 free WordPress plugins for $9, I really don’t mind. I mean, I, personally, think that selling the plugins is the wrong way to go about it.

    I will defend your right to resell MY plugin

    Look, I may think it’s a total dick move, and I may personally find it distasteful, but what I don’t find it is illegal. Morality is something else. I am legally permitted to take a plugin from another site, a paid plugin, and if it’s GPL, I can give it away, sell it, or do what I, as a user, want to do with it. Would I? Actually, yes. I have. It’s called forking a plugin. But I always attribute the authors, thank them, and point out what I did to make this plugin different.

    In fact, it’s not the reselling at all that fired up my blood. It was this one line where he says you can’t resell the plugin compilation for less, and you can’t give it away.

    It’s highly possible what he meant was ‘This set is a set, don’t steal my shit!’ And to that, yes, don’t take his hard work and steal it, that’s uncool. But where he looses his right to say that is when he tries to revoke freedoms clearly laid out in GPL, notably, I have the right to take a GPL licensed plugin and do what I want. You just can’t have it both ways.

    Don’t worry! This can be fixed!

    Otto pointed out that, as he’s also using images and other possibly non-GPL items in his product, that in a way, this is okay. Well, that’s nice, but he still can’t take away my GPL freedoms. He can do a pseudo-split license, and say “These products are GPL, and as such, all GPL freedoms remain intact. THESE products, however, are not GPL, and fall under the following provisos.” That’s a lot of work, I know, but suddenly he’s GPL-compliant! Yay!

    Of course, that assumes he had the right to use those non-GPL items in the first place. And we already knows he’s buzz-worded some BS.

    1. I have Full Master Resale Rights and Each One of the Plugins Listed Above Has Resale Privileges attached to them.

    2. Because of the Master Rights, I have the each developers expressed permission to offer Private Label Rights to All Who Purchase WP Million Dollar Plugins.

    3. Being That these are Unique & Rare Resell Rights Plugins You Have a Two-fold Benefit,
    a) The Personal Use of the WP Million Dollar Plugin
    b) The Ability to Offer This Unique/Profitable Package to Your Customers.

    The rampant abuse of capitalization aside, items number 1 and 2 there doesn’t make a lick of sense to me. First, I know that at least one plugin dev didn’t give any ‘extra’ permissions outside of what GPL already provides. So if we know this guy didn’t ask permission, what ‘master right’ does he have? Not a one, that I can come up with.

    GPL freedoms don’t require asking permission to reuse them, they don’t permit ‘private label rights’ (which actually is just marketing speak, and means nothing at all legally) or any rights that further restrict your freedoms.

    Another easy way to fix this is to not include the plugins, but instead sell it as a $10 book: The 200 best plugins for your site, how to find them, which ones to use, and why they’re great! Imagine a book that could help you get started by breaking down the best plugins for what you’re trying to do? A lot of newbies would kill for that. So sell THAT. Sell your own work. If you’ve done the research, sell it. But unless you make the plugin, or are going to support it, you’re nothing more than a hotdog vendor.

    Free is better, right?

    In the end, peer pressure reverted this $9.95 deal into a ‘free’ download by the end of the day, which I did not try (since the amount of layers to download looked like a rip off to me, and lead to a $950 … thing). No one ‘won’ anything, though. I’m sure the guy feels blasted by the people who descended upon the forums (as well as the ones who private messaged him). It’s fairly clear the forum regulars were not pleased by the onslaught nor their attitude.

    A lot of agony could have been avoided if research had been done in the beginning. If more time had been spent looking up what was being sold, and why, instead of slapping marketing speak (much of which has been removed). When selling becomes more important than doing the right thing for the product and the users, you’ve lost something. Make good things, make that important, and not making money and selling them. If that’s all you care about, I’ll make sure to avoid your product.

    By the way… It’s WordPress, with a capital P.

  • Software Freedoms

    Software Freedoms

    copyleft image Like a million other posts, I’m starting this with a warning: I Am Not A Lawyer.  Sure, my mom is, but that qualifies me for a cup of coffee, if I have the cash.  Personally, I support open-data and open-code because I think it makes things better, but there are a lot of weird issues when you try and pair up software licenses, explain what ‘freedom’ means, and where it’s applicable. For the record, I am not getting into the ‘is a plugin/theme derivative software or not’ debate. I will wiggle my toe and point out it is a point of contention.

    I’m presuming you are already familiar with the idea of what GPL is. If not, read the GPL FAQ.

    Why are WordPress and Drupal GPL anyway?

    The people who built WordPress took an existing app (b2) and forked it.  Forking happens when developers take a legally acquired copy of some code and make a new program out of it.  Of the myriad caveats in forking, you have to remember that the fork must be a legal copy of the code.  In order to create WordPress, Matt et al. were legally obligated to make WordPress GPL.  No one argues that.  The only way to change a license from GPL is to get everyone who has ever committed any code to the project to agree to this, and you know, that’s like saying you’re going to get everyone in your house to agree to what pizza to order.

    WordPress and Drupal is GPL because it must be.  There is no other option.

    So why is this a problem?

    GPL poses a problem because of interpretations of what ‘derivative works’ are.  It’s very clear cut that if you take or use WordPress’ or Drupal’s code, you are taking code built on GPL, which means you must keep your code GPL.  The definition of ‘code’ is a bit squidgy.  A generally accepted rule of thumb is that if your code can exist, 100%, without WordPress or Drupal’s support, then it’s not a derivative.  By their very nature, plugins and modules are seen as derivative.  Both Drupal and WordPress have long since stated that this is, indeed, the case.

    Themes, modules and plugins are GPL because they must be.  There is no other option.

    Except…

    The GPL GNU. If you don't know, don't ask! Except there is.   Only the code that relies on the GPL code have to be GPL.  Your theme’s CSS and your images actually can be non-GPL (though WordPress won’t host you on their site if you don’t).  Also, if you have code that lives on your own server, and people use the plugin to help the app talk to that code, only the code that sits on WordPress or Drupal has to be GPL.  Your server’s code?  No problem, it can be as proprietary as you want!  Akismet, a product made by Automattic (who ‘makes’ WordPress, in a really broad interpretation) works like this.  So does Google Analytics (most certainly not owned by WordPress), and there are many plugins to integrate WordPress and Google.  This is generally done by APIs (aka Application programing interfaces), and are totally kosher to be as proprietary as you want.

    Themes, modules and plugins are GPL where they need to be, and proprietary (if you want) where they don’t.

    So what is GPL protecting?

    As we often carol, the GPL is about freedom.  And “free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer.”  Freedom is a tetchy subject, misunderstood by most of us.  For example, freedom of speech does not mean you get to run around saying what you want wherever you want.  Free software is a matter of the users’ freedom to run, copy, distribute, study, change and improve the software.  This is pretty much the opposite of what you’re used to with the iOS, Microsoft and Adobe.  Free software may still charge you, but once you buy the software, you can do what you want with it.  Your freedom, as a user, is protected.

    WordPress’s adherence to GPL is for the user, not the developer.

    What’s so free about this anyway?

    The term ‘free’ is just a bad one to use in general. Remember, freedom of speech, as it’s so often used in inaccurate Internet debates, does not mean you can say whatever you want. ‘Free speech’ means ‘You have the right to say what you want, but I have the right to kick you out of MY house if I don’t like it.’ So what are these GPL freedoms anyway? In the GPL license you have the four freedoms: (1) to run the software, (2) to have the source code, (3) to distribute the software, (4) to distribute your modifications to the software. Really they should be ‘rights’ and not ‘freedoms’ if you want nit-pick, and I tend to think of the freedom of source code to be similar to data freedom. The freedoms of open-whatever are for the people who use the whatever, not those who come up with it.

    Software freedoms are for the user to become the developer.

    So if GPL is for the users, what protects the developer?

    Every post about software freedom requires Stallman's image! Not much, and this is where people get pissed off.  If anyone can buy my software and give it away for free (or pay), why would I even consider releasing something GPL?  The question, as Otto puts it, really should be ‘What exactly are you selling in the first place?’ What are we selling when we sell software?  I work on software for a living, and I never sell my code.  I’m hired to write it, certainly, and I do (not as often as I’d like).  Most of what I do is design.  It’s part math, and part art.  My contract doesn’t allow me to keep ownership of my art, which sucks, but if I was a painter, I’d sell the painting and lose the ownership anyway, so what’s the difference?  That painting can get sold and resold millions of times for billions of dollars.  And most artists die starving.

    Software Freedom doesn’t stop people from being dicks (though they should).

    So what good is the GPL to the developer trying to make a buck?  

    It’s not.  But that’s not the point.  GPL isn’t about the guy who wrote the code, it’s about the guy who gets the code (again, legally) and says “You know, this is great, but it should make milkshakes too!” and writes that. GPL is all about the guy who uses the code and the next guy who takes the code and improves on it. If you have an open community where everyone has the privilege and right to use, view, share and edit the code, then you have the ability to let your code grow organically. If you want to watch some staid, tie-wearing, Dilbert PHB lose his mind, try and explain the shenanigans of Open Source development. “Develop at the pace of ingenuity” versus “Develop at the pace of your whining users.”

    Software Freedom isn’t about making money, it’s about making the next thing.

    Why would I want to use GPL?

    Other, more famous, Communists If you use WordPress, you use it because you have to. I prefer the Apache licenses, myself, but the purpose of using any software freedom license is, at it’s Communist best, a way to make software all around the world better for everyone. You stop people from reinventing the wheel if you show them how to make the axle in the first place! Did you know that Ford and Toyota independently came up with a way to make your brakes charge your hybrid battery? They latter opened up and shared their tech with each other, only to find out how similar they already were! Just imagine how much faster we could have had new technology if they’d collaborated earlier on? With an open-source/free license, my code is there for anyone to say “You know, this would work better…” And they have! And I’ve made my code better thanks to them.

    I use ‘free software’ open source licensing on my software to make my software better.