The Legality of Forking

"An avidity to punish is always dangerous to liberty. It leads men to stretch, to misinterpret, and to misapply even the best of laws. He that would make his own liberty secure must guard even his enemy from oppression; for if he violates this duty he establishes a precedent that will reach to himself." -- Thomas Paine

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.


  1. Sure, Jigoshop is upset at some extra competition. That’s sensible: competition is good for the market (usually) but unpleasant for the individual company. It’s a fairly reasonable reaction. A company can also be less then happy at losing developers to the competition (also a fairly reasonable reaction).

    No fault on WooThemes either though: At most, they are guilty of choosing to compete with another company in a free market (not so terrible). The fact that Woo are forking code and developing it isn’t all bad either. The development work (and bug fixes) that Woo does can likely be folded back in (if desired) because the fork is also GPL. Free development – the promise of GPL fulfilled.

  2. That’s freedom for you. And, the important thing is that because of that freedom, all sides are free to take code from others and merge it back in. Jigoshop is not restricted from simply taking WooThemes plugin and repackaging it, just as happened to them.

    Yes, you could say, in certain cases, that forking is not optimal. Or that forking is even sort of dickish. Hell, I would be upset if I found my code being used to support a racist, sexist, or similarly objectionable organisation. But the fact is, that there isn’t anything that can really legally be done about it.

    Even if I didn’t free my work, there would still be little I could do to stop someone on the other-side of the globe from doing something I don’t like.

    (Also, when it comes to signing contracts, I suggest that if you (and from here on “you” is being used as the plural) can, you strike all the objectionable parts. Not being allowed to work for a competitor for a year is an awful thing. It could mean that you can’t work in your field or a year after leaving one place of employment. And the fact is, that yes, you signed that contract. But really, you, often don’t have many options. The company has the whip hand.)

    • In this specific situation, it was fair and just to me and the company (as with all things, it’s more complex than ‘I can’t work for a bank…’ It has to do with the specific type of work, and what kind of restrictions I have on the kind of software I’d work on, much of which remains under an NDA). Unlike many of my coworkers, there are other aspects of my contract that give me more freedoms than they have because I negotiated.

  3. You hit the nail on the head about a dozen times with this post. Just imagine how bad of shape we’d be in if Matt decided that he only wanted WordPress to be used for good and not for bad. That’s like flipping off the freedoms he was awarded to turn around and limit the freedoms of those using the software. Granted he can’t do it and those who offer their products under the GPL have to understand that those products are going out to the public with very little in the way of any strings attached. I hope a lot of commercial theme and plugin authors read this post.

    • I suppose it depends on what string you’re holding on to as your profit source. If you hold onto ‘Buy my software’, then GPL isn’t really the way for you, since I can buy it and then give it away. That’s why, I think, we’re seeing more places charge for support and customization. Which is actually how a lot of us software muggs have been making a living for years 😉

  4. I deleted a handful of posts this morning (they were all in the mod queue anyway).

    The reason I did not get into the spirit of the GPL debate in this post is that it hit over 2000 works, at which point I split it into two. There will be a second post (I was planning on doing it next Monday, I may do it sooner) about if this violated the SPIRIT of GPL. The answer I come up with may surprise you.

    Let’s keep this post just to talking about the legal ramifications of GPL, freedom and what that means to you. Do you think the law is wrong? Should it be re-worded? Can it be without violating the basic tenets of GPL?

  5. Absent restrictions on derivative works, this seems completely within the anticipated scope of the GPL. Sauce for the goose is sauce for the gander, so make sure you choose your licensing strategies wisely.

    • Of course, if you’re making a WordPress plugin, you must make it GPL – see Themes are GPL too – if a theme must be GPL, then a plugin must be too, within reason. Obviously not ALL of a plugin has to be GPL, Akismet’s propriety aspect (which is NOT on your server, but accessed via an API call to their own) is not, and that’s fair too.

  6. One of the greatest things about github is it’s celebration of forking. It’s all out there, right in the open. I like that.

    • It does pretty good actually, partly because you can easily comment and discuss all pull requests, and collaborate even on the merging if you want to.

      Since the wooteam mentioned that they will host their plugin on Github, I guess it is going to be easy to merge back their fork regularly. The question is, is it really worth it for Jigoshop? They might as well choose to differenciate themselves from Woothemes, and thus attract other customers.

    • Worth is hard to measure this early in the game. I think the potential of being able to possibly merge bug-fixes is worth it, though. I hope they both keep that in mind and share things. 👿

    • I was about to write exactly this. Shouting “forking is wrong” sounds a little “subversion-ish” after you’ve been on git and GitHub for a while.

    • The technical aspect of merging forks (and I really need to get into GitHub more to see how this all works there) has always been my bug about the matter.

      As with all things, intent matters a great deal. In Subversion terms, it’s more that if you can apply a patch to ‘fix’ something, that’s preferable to copying it all wholesale.

      If your intent is to fix something, or take it in a new direction, then that’s a good use of forking. If your intent is to take someone else’s work, change a prefix, slap your name and brand on it, and make money off it, then you’re a dick and we’re on to my other post 😉

  7. I’m not sure I’d call it “fair and just”, as those are pretty subjective terms, but the fork certainly was *legal*, which is all that matters here. The market will ultimately decide if the move was “fair and just”, which is how it should be!

    Thanks for clearly explaining what was going on and your position on it.

    • I was actually referring to the legalese common use of the term and not FOX Media’s lambasted and corrupted version (which I had actually forgotten about for a moment…) 😳 But. Legally it was fair, and legally it was just. Those aren’t subjective, insofar as this aspect of the argument goes. Ethics is a different aspect of the argument 😎

    • Ah, well, I tend to think of things like ethics, with which I associate the terms “fair and just”, as entirely separate from the legal system. 😉 But, I see what you’re saying. Yes, ethics aside, it was perfectly legal of them to do.

      It will be interesting to see how this plays out over the long run for all parties involved. Also, I think it’s great that WordPress has such a thriving ecosystem that the GPL is really getting tested in some real-world situations this way. I wonder how many people expected this when we first started using WordPress? I know it never occurred to me back in 2007 when I made the jump. But, I think it’s great.

  8. Seems to me it’s not a matter of being under-appreciated, it is a matter of Woo saw an opportunity to slap em in the face. We see it too often where the “bigger boys” if they can’t have their way will just bully someone out by overpaying, undercutting on the same software vertical and then ultimately crushing competition.

    Doesn’t seem good for competition…at least in my eyes. Seems like another AT&T trying to buy the world at a discounted price and bullying someone into a corner.

    Jumping off my soap box.

    • Matt – If the developers had liked where they were, and the direction of the product, would they have left? I suspect probably not (can’t know for sure unless one of them jumps up and says yes or no). People don’t leave jobs they like and are happy at for no reason. Either they didn’t actually like the job (or something directly related to the job) or they saw something they liked more. Or they were fired.

      I don’t think it’s a good comparison to AT&T, as a monopoly structure like that is pure capitalism at it’s … best/worst.

    • While I agree, If someone offered me $20k more a year I am going to take it. Even if I am happy. At the end of the day everything revolved around money no matter how good someone has it or how great your morals are. You do what is best for your family… hence why I have an issue with this (ya I used hence lol)

    • If someone offered me $20k more a year I am going to take it.

      Fair enough 🙂 I didn’t.

      Yeah, I was offered more money to go work for a company that makes software that my current company uses. I’m the in-office expert to the point that I know more than the software company (the look on their face when I told them how to do something ‘impossible’ was priceless – and many of my emails with them are now in their support docs). A couple years back, they made me an amazing offer, with bennies and the whole nine yards. And I asked myself “Would I want to, day in and day out, work on the software that I despise?” Answer was hell no.

      Money’s not my point, but that’s me. I’d rather work for a company I admire and respect and treats me well. But as Jane Wells just put it, it’s not about code, it’s about people for a lot of us.

    • Ouch lol. Your points are valid…. Maybe I am just cynical and bitter? Truth be told, I haven’t ever worked for someone, other than myself that I would have stuck with…. so maybe I don’t have the real world experience other than being on the company end?

      Who knows, but at the end of the day, this was/is a great post! Props!

  9. At the risk of providing a negative perception of myself, I really only have one thing to say.

    Legality doesn’t always dictate the ethics of something or whether the decision was generally considered ‘right or wrong.’

    • You’re absolutely right. But, ethics should play into whether you should do something or not.

      If nothing else, it’s for the sake of saving face.

      But, business IS business – and we all take risks in everything we do. WooThemes, in this case, is taking a risk that people will think negatively of them because of the decision they made.

    • Oh certainly Jason 😀 Ethics does have as much to play into this as the legality, especially since everyone’s morals (and thus perspective of if something was or was not ethical) is subjective. Taking them apart, for a moment, to look at each half separately, is the only way I’ve ever been able to make sure I’m trying to be level headed about a sticky matter like this.

  10. Legal Shmeegle, just because you can doesn’t mean you should, my opinion of Woo is tarnished. You have to look at the whole cycle – and lets not mince words here, Woo made a ridiculous offer, the offer to collaborate would have put them in strategic control and when Jigoshop didn’t comply they stole their developers. It has nothing to do with happiness – woo threw money at it – they threw money at the developers. No loyalty there – that sucks too. But, Jigoshop was neglect in not having their developers sign no compete clauses at the outset – that’s pretty basic. Bad business move on their part. But/and it does reek of the big boys slapping around the little gays.Has nothing to do with whether you are a capitalistic conglomerate like AT & T, in the WP community Woo is clearly the big gays er biggER gays and Jigoshop is the little guy. Yes, we live by the open source sword, but my concern is behavior such as this from a company thwarts and undermines the spirit of development. I am sure my thoughts aren’t on the popular track, but it’s my two cents for whatever it’s worth.

    Sign me,
    Disappointed in Woo

    • 1) This post is just about the legal side because both would have been over 3000 words and people don’t read.

      2) There’s a follow up post just for this, called The Morality of Forking.

      I wouldn’t sign a no-compete clause with anyone unless it was in my interests (as it was with the company I’m with today).

      Woo didn’t steal anyone, though. They made an offer deemed better, and that’s legal. For moral, see the other post 🙂 I go into that in some more detail.

  11. well the legal side of the issue is cut and dried so what is there to discuss? whether you call it steal, or hired away – it’s just semantics – for me it’s about the spirit and intent underneath the act. but since this thread is for the legal side of the issue I will say no more.

    Sign me,
    Still Disappointed in Woo!

    • I’m not a lawyer. I could be reading things wrong, and if so, I would hope a GPL law expert would feel they could tell me so 👿

      However, your use of ‘steal’ brings up exactly why you must separate legal from moral. You’re using ‘feel’ words. You feel hurt. I would never tell you that you’re wrong for feeling that way! But. The didn’t steal anyone, by definition of the word, and you must keep that in mind when you look at a situation. You have to be fully aware of what is your feeling and what is not.

      Someone I admire and respect disagrees with me that this was a dick move on Woo’s part (yes, I think it was dickish). But we both know that we’re talking about our feelings, and in both cases we know that Woo did nothing legally or morally (or ethically) wrong. That doesn’t mean we have to like it, and it does mean I will defend them (and Jigo AND the developers!!!).

  12. Well, my purchases are emotional decisions Ipenstu. I buy from and do business with companies that have good products and services but also ones that I admire. I don’t like to do business with the unscrupulous.

  13. i am happy to take this over to the morality post though – I understand why you’re trying to keep those conversations separate – but it is hard to separate them.

    • Well that’s why I’m not reaaaly chasing you away from here 😉 Just that if you’ve not read the other end of the post, some of my answers may seem odd.

      I buy from and do business with companies that have good products and services but also ones that I admire.

      This is important too 🙂 Code isn’t quite as important as people (though good code + good people = happy!) for a lot of us. I don’t generally buy from places I dislike personally (I haven’t bought anything from Woo nor Jigo, but that has less to do with like and more with need). I try very hard not to buy from ones I disagree with morally. However I am even less likely buy from a company who is known to practice illegalities. I have an iPhone, which means I use AT&T, which means I have given money to a company that broke the law. I am aware of it, though, and that puts me up on a lot of people!

  14. Well we all have to dance with A T & T, practically no way around that one. But Woo is not that big, yet…so I DON’T have to dance with them. Just to wrap this up, the issue for me is that these are premium plugins and the intention is to make money. Somebody is putting big money into development…Different animal when it’s hobby or service development – some developer decides he or she needs a plugin to do something that’s otherwise not possible or difficult to do – or wants to serve the community in some way…and said developer their off hours and spends free time writing up the code – and the benefit is we all get to share in the creative decision. But If the we want to encourage complex plugin development – it takes a lot of resources – and the company is going to profit at the end of the day and that’s ok. We are all about open source, it’s not illegal to fork and we want people to do that… but when that gets out of hand, when the spirit and intent becomes ABUSIVE – that’s right I said it…somebody has to say it…well then the community has to self police – because it’s not about ILLEGAL it’s that it’s bad form. If companies step over the line into gray, i want to discourage that kind of behavior. open source – that’s the good news – anybody can move the code forward, but then do the FORKIN’ work. Don’t build your premium plugin on somebody else’s back. Get your own ace developers and get your sleeves rolled up and forkin do it. Ok. Now I am going to respect your desire to not have this kind of conversation at the legal thread! hahaha…gonna shut up now…but sign me,
    Still Very Disappointed in Woo!

  15. in a nutshell hiring away their developers to short cut and circumvent the process – and essentially undercutting the creators of that particular code – cutting the legs out from under them – is where it crosses the line for me. Legal perhaps, but really bad form.

  16. love this perspective and i think you provided it clearly and objectively.

    people will piss and moan regardless… most of them are simply not educated enough to piss and moan intelligently.

Comments are closed.

%d bloggers like this: