Software freedom should include freedom from want
Is free software idealism alienating those developers it should be recruiting?
There are days when I think the GPL is one big pain in the butt.
I realize that may come as a bit of surprise for someone who uses and advocates often for free software, but sometimes I get a bit fed up with the whole rigmarole that surrounds the whole notion of GPLed software. And by rigmarole, I mean the partisan finger-pointing that says proprietary policies, licenses, and companies are big, scary, and evil, but don't offer much constructive advice on how to make a living with free software.
For instance: I used to have the iPad version of the VLC media player. It had some quirks, but it did what it needed to do: enable me to watch video formats that were otherwise incompatible with Apple's Video app. Then I updated my iPad to iOS version 4.2, which did not go smoothly. Eventually, I was able to update the software, but none of my apps survived the process, requiring me to reinstall each one again.
In the process, for whatever reason, I didn't reinstall the VLC app, and now I won't ever be able to.
That's because the VLC app was released under the GPL, which is incompatible with Apple's restrictive terms of service for their app store. Once the incompatibility was brought to the attention of Apple, they removed the app. Poof, no more VLC for IOS.
This was disappointing on several levels. Obviously, there's one less good app out there for iOS users. More broadly, it's disappointing that yet again Apple's app store policies have managed to once again err on the side of their commercial profit more than providing customers and developers a place to get solid technology. And it's disappointing that it was one of VLC's own developers who brought the matter to the attention of Apple in the first place.
According to my colleague Steven J. Vaughan-Nichols, Rémi Denis-Courmont filed the formal notification of copyright infringement to Apple on Oct. 25, citing the incompatibilities between the GPL and the Apple app store. Denis-Courmont announced the VLC app's takedown on Saturday, writing "This end should not have come to a surprise to anyone, given the precedents."
Well, no, why would it, given Apple's track record and Denis-Courmont's own notifications?
On Sunday, Denis-Courmont tried to deny any responsibility for the removal of the VLC app:
"All in all, we will probably never know the truth. But I am inclined to believe what Eben Mogel [sic.], from the Software Freedom Law Center, foretold me 2 months ago: Apple would remove VLC simply because it cannot stand software distributed under the GPL on its stores. But, it is Apple's choice and business decision, therefore Apple would have no reasons to expedite the process. It could also be that they do specifically not fancy VLC on their platforms. That would account for the removal from the Mac Store a long time ago," Denis-Courmont wrote.
To be fair, Denis-Courmont's actions were not the ultimate reason why the VLC app was removed from Apple's iOS app store. That responsibility falls squarely on Apple, which made the decision to remove it. It's a little disingenuous of Denis-Courmont, though, to act shocked, shocked! that Apple would do such a thing since he raised the alarm in this instance. If you're going to stand by your principles, Denis-Courmont, then you need to be able to take the heat that comes from your actions.
Was, ultimately, Denis-Courmont in error? No, aggravating as that may be. He was trying to demonstrate to the world that Apple's policies are ultimately a bad thing for GPLed software and he succeeded. Except that now I worry that instead of holding up Apple as the overbearing walled gardener, he's basically scaring away current and future developers from using the GPL.
I realize that the principles of free software are vitally important to both developers and users. But, pragmatically, I also realize that not every developer is going to have the luxury of cutting off potential revenue just to maintain license ideals. Some people code to code but some people code to eat.
Can you make money from developing free software? Of course you can. Support, expertise, commercial variants... these are all legitimate and encouraged ways to generate revenue from free code. But these paths can take time and sadly, there are users out there who are more than content to just download free software and use it without thought of support for the author(s), regardless of how much these users depend on that free code.
It all boils down to a question of whether a developer wants their money up front, or later.
The fact of the matter is, the popularity of the iOS platform is bringing the pragmatist vs. idealist argument to a head like no other operating system has. Even Windows is much more friendly to GPLed apps, because unlike Apple, Microsoft doesn't care what licenses Windows applications have. Only Apple has employed such a draconian model and it's clear that no matter who reports the problem, iOS is GPL no-man's land.
But there's no getting around the fact that Apple is on a roll: iOS is popular and if a developer is willing to pay the cost of admission, they can start generating revenue very quickly.
Free software advocates would argue that the cost of admission is the abrogation of basic freedoms, while developers in search of a paying gig would argue the cost is not eating, or wasting talent doing some other job just to make ends meet.
The good news is, there are other platforms out there on which to develop apps and even try to sell them. In mobile space, that is obviously Android, so the debate on idealism and pragmatism can be deferred.
I believe free software advocates--especially the Free Software Foundation--should take a look at how they are selling their message. Instead of only pointing out the ways proprietary software is evil, which seems to be all we hear from them anymore, perhaps they can devise some real education programs that can walk developers through revenue-generating paths for their free code. Set up career networking and online support platforms.
Teach developers how they can have software freedom and the freedom from want.