Entries in 'General Public License' ↓

When The Garden Walls Come Crumbling Down

Or what would happen if Facebook went GPL

In thesis no. 93 The Cluetrain Manifesto claims :

We’re both inside companies and outside them. The boundaries that separate our conversations look like the Berlin Wall today, but they’re really just an annoyance. We know they’re coming down. We’re going to work from both sides to take them down.

I agree. I experience these annoyances on a daily basis. Sometimes I have to really constrain myself not to let go of my temper, because I feel that our insights in many ways far preceed our ability to apply these to practical use. For instance, I cannot understand that while I do 95% of my banking via the internet, most banks do not put 95% of their ressources to work to give me as a customer the best possible online banking experience. Even less would probably do. If they just put 80% behind it, that would probably suffice. But they don’t. I am also annoyed when I have to communicate with my daughter’s doctor via an online form which permits only a limited amount of characters, largely because they do not trust email as a means of communication. In fact, I am always annoyed when people who presumably wants to communicate with me, don’t let me communicate back on equal terms. I find that arrogant. As far as possible I resist their attempts to control the way in which I should communicate with them.

The rooms in which we speak

Architectures are important. They are the ways we construct the rooms in which we speak. The “conversations” of The Cluetrain Manifesto take place within the framework of such architectures. They have names such as Facebook, Twitter and Google. Other such architectures are called things like WordPress, Joomla, MediaWiki, Firefox, RSS and GNU/Linux. They have a tremendous impact on the ways we communicate online, on the ways in which we filter our incoming information streams, and on the ways we enable new connections and enable new ideas to reach others, and enable their ideas to reach us. As important as architecture is, so more important is ownership : that we claim ownership to the tools we use. That we claim ownership to the channels and the walls that decide who will learn to know us, who will receive our message, and who will be filtered out, who will not. We decide what walls are torn down and what are built. With the web and simple tools we can, and we do.

Many of the software architectures that we employ, from the webserver and webscripting functionality of Apache and PHP to the popular self-publishing power of tools such as WordPress, are free software. I.e. built and easily adaptable by anyone who wants to adapt them for particular purposes.

Walled gardens

Other architectures are walled gardens, maintained by organizations and companies, who are not concerned about the choice of their customers. While companies such as Facebook, Twitter and Google offer greatly useful applications to their customers, their services impose limits on their use. In short, they choose to remain in control. They choose not to release the source code. Not to let their users adapt the tools they’re offering to their particular purpose.

If a company such as Facebook or Twitter goes bankrupt, users will lose their data – no compensation, no anything. There’s no obvious way to retrieve data from these services, and since the code is not free, one can’t write tools to retrieve those data by oneself. While most of these services offer useful and advanced interfaces so that programmers can access their data from the outside, the service stays in control. You can’t obtain access to data they don’t want you to obtain access to. Facebook ultimately decides who they like to write applications for “their” platform. Twitter abolishes user accounts at their whim, because ultimately Twitter decides. Ultimately, Google decides to pull the plug on a GMail or YouTube account, on grounds they choose, not their customers.

These walls of proprietary ownership are the Berlin walls of today. We meet them everywhere, when we are annoyed we can’t do certain things with the tools we use. When we communicate within the confines of architectures that we do not own and do not feel comfortable with, because they disallow us to be ourselves. In the worst case, we hit them head on when we find that our account on some service has been abolished unfairly, with nothing we can say to get our data back. When a service ceases to be in business, a product ceases to be supported, or a new company policy is enforced in spite of what we feel about it.

So how are these walls going to come crumbling down?

Free software

As I do here and have often argued, the only way we can operate freely in our online environments is if and when we ourselves are able to create, adapt, control and empower the architectures that we employ. We need our software and online services to be as easily adaptable as any article on Wikipedia. Wikipedia is enabled by the clever use of a particular architecture in combination with a copyright in reverse known as “copyleft”. The GNU Free Documentation License (GFDL) license ensures that every contribution to Wikipedia’s articles can be freely adapted and re-distributed by others.

Until now, free software have also relied on copyright. Similar to Wikipedia’s license, the General Public License (GPL) which is commonly used for most free software projects ensures that the code stays open and can be manipulated by anyone, no matter who distributes or sells it.

But free software need not depend on copyright. The greatest barrier to the spread of free software is that so many do not understand why it is important. Too many business executives cannot see, that it is as beneficial to them as to their customers, that they facilitate their customers’ ability to change and adapt the code. Too many organizations do not understand that releasing their source code opens up new, decentralized, flexible and less costly ways to organize their activities. And too many internet users (myself included) are too convenient with their habitual uses of proprietary online tools to question deeply and realize what’s at stake. We also find time to be a scarce good, since we also have to work to pay our bills – often inside companies led by execs who don’t “get it”.

How things look from the inside

The free software movement is “working on the outside” to bring down these walls. But on the inside, every Facebook, Google and Twitter employee is also an internet user and customer. They are people who talk using these same tools, they have other lives, they quit and start their own businesses, in short they engage in conversations where they go (or are allowed to go, by their companies). What limitations in ownership are put in place by their companies also limit their ability to deliver the best possible product, the best possible service and the best way to help solve their customer’s problems. They are equally annoyed by the corporate walls put in place beyond their control.

There are two great problems which faces the walled corporations, now and in the future :

1. They will increasingly encounter free architectures and services, which may yet perform poorly, but have much greater potential to outgrow and outperform their proprietary competitors.

2. As clever candidates everywhere discover their own ability to build and employ free architectures of their own choosing and flavour and adapt them to suit their own particular purposes, companies will find it increasingly harder to find qualified candidates to fill positions. What’s attractive in working under the command of a boss, if you can work for yourself? What’s the attraction in working for a company, whose business model is not adaptable to the open environments spreading on the web?

What if Facebook went GPL?

In closing, let me speculate aloud to show an example of the business landscape I believe will replace the walled gardens of today’s corporate environment. Among many online applications, Facebook is probably the service with which I have the most problematic relationship. There’s no doubt in my mind that Facebook does something very well : it helps facilitate connections and conversations. It helps me get in touch and stay in touch with family, friends and business contacts who wouldn’t otherwise read my blog or relate to me via other online tools. It works really great for friends you don’t see a lot on a daily basis, but still want to stay in touch with. But for all it’s merits, I hate the fact that I can’t easily search and access data in Facebook. I dislike that I can’t extract the information I need with RSS from my Facebook archives, and that I cannot play even further with the category layers, to adapt the service even further to suit my needs.

Let’s imagine that Facebook decides to go open source. Facebook releases it’s source code and invites developers to join in and contribute to the code. They still are leading the development of the core Facebook application, but also offer anyone a downloadable package, which can be freely modified and redistributed. Anyone is free to fork Facebook and set up a rival site.

What would happen then?

First, we’d fix everything that is wrong with it. We’d add RSS feeds to all the places where we’d like RSS feeds. We’d work to make what’s going on transparent, so that we could learn from it. And we’d make those changes publically available to anyone, who’d like to take a look and use them for their own purposes.

But what I think makes Facebook really brilliant as a free software package is the way it can adopt external applications within itself. Facebook as a general purpose communications platform is great and extremely adaptable. This makes it well suited as a platform for almost any corporate website. Most companies need to enable conversations across the organization, with suppliers, customers, investors, and everyone else slightly related to the company. The fact that most companies’ employees already spend a good deal of time using Facebook during work hours shouldn’t lead to abolishing and blocking Facebook from office computers, but should rather be seen as an encouragement to take this brilliant tool and give it a form of their own choosing. If Facebook was released under GPL, that would indeed be a viable option.

Adopting Facebook as a corporate platform would not only allow employees and customers to communicate on equal footing, it would also allow them to create applications for the platform, which would help adapt the package in very particular, employee- and customer-centric ways to suit the company’s purposes. That the package already has proven so scalable on a global level is a testament to it’s robustness in even the most trying of corporate environments.

But even if Facebook is not released under GPL, we’re already well on our way to build, use and sustain software like this, and many businesses do build their own social networking architectures. In fact, many CMS packages which are free software already implement features which mirror the successful features of Facebook and other social networking services. For WordPress, we already have BuddyPress, a prebundled collection of plugins which convert a WordPress installation to a fullblown social networking site.

But businesses and developers will continue to get it wrong, if they do not offer their employees, members and customers the same freedoms by releasing their source code, as they had when they chose to base their solution on free software.

In the long term, the question is, if Facebook and other proprietary businesses will still have a business model, if they do not give up control and release their code? If they do not enable the free adaptability of their software, chances are, with time, we’ll just build our own.

This post is part of the Cluetrain Manifesto 10-year Anniversary Blogging Event organized by Keith McArthur, in which 95 bloggers all write today about one of the 95 theses put forth by The Cluetrain Manifesto 10 years ago.

EDIT : The link to the CluetrainPlus10 PBwiki page works again. Here’s Keith’s latest post about the project.

Free Software And Proprietary Dead-ends

Stumbled over this interesting discussion about WordPress “premium” plugins and themes, i.e. plugins or themes which are sold at a price, just like any other piece of proprietary software. WordPress Premium Themes have been around for a while, and they recently spawned quite a discussion on the WP-hackers mailing list, when over 200 themes was removed from the Wordpress.com selection of themes.

The focus of the discussion is the Free Software Foundation’s General Public License (GPL), and whether plugins or themes based on a GPL’ed piece of software such as WordPress can be sold for profit.

There are several voices in this broad discussion, and to characterize some of the perspectives :

  • Commercial developers and start-ups, who need a way to make a living from what they do : create WordPress plugins and themes
  • WordPress users who demand more features and ever more clever ways to personalize and customize the software they use
  • Open source developers who feel cheated when what they’ve spent hours and hours developing is “sold” by others
  • Purists who feel that since WordPress is free (GPL’ed as well as free of charge) every component based on or rooted in WordPress ought also to be free
  • Pragmatics who tend to say that as long as the GPL is respected, developers may do anything with the code, and that plugins which are developed from scratch are not necessarily born GPL’ed

I think this is a crucial discussion for the future of open source and “free” software.

As far as my understanding of the GPL goes there’s nothing wrong with redistributing GPL’ed software, in fact this is the point of the license. The only condition is the software remains licensed under GPL or a similar license. That receivers in your end receive the same benefits that you had, is a key component of what is usually referred to as copyleft.

There’s nothing wrong with charging money for the redistribution of this code either. Noone says anybody should provide stuff for free, just because it is GPL’ed “free” software. What the freedom in “free software” means is that anyone who obtains the code also remains at liberty to redistribute the GPL’ed code and charge for it too, if he or she wishes to do so. We all have expenses, and there are all kinds of good reasons to ask money for the time and work we put into providing a service or a product to someone else.

The tricky thing is, that since users who buy a piece of GPL’ed software also has the full right to redistribute that software, the business model appears to be broken. It may not actually be broken, since there are many good reasons to pay to receive benefits with the software “purchased”. Someone who obtains a piece of GPL’ed software via a bittorrent network, won’t get the support and imminent future updates that someone who “bought” the software from the developer does. But if we toss this aside, that the business model appears broken is probably what leads some developers to pursue proprietary business models.

Now, there’s a perfect match between supply and demand in the users who wants new features and are willing to pay for them too, and the developers ready to supply new features. It appears pretty straightforward. It’s good for users and it’s good for developers, who make a living from what they do. Right? Wrong.

The advantage of using GPL or any other copyleft strategy is that the process of redistribution and refinement can easily be facilitated. If or when a useful feature is included in a version of the code, it can be adopted by the source developer or anybody else involved, so that everybody gains, whether they charge for it to others or not. It can facilitate the creation of a community around “the project”. The software is improved by community developers, and eventually the code or project may leverage much more than any individual developer is capable of.

If you use a proprietary model as a developer you’re shutting others out. As a proprietary developer you have to build your entire organization around the fact that all problems must be solved in-house or paid for. You’re in the business of constructing a costly operation, which must be paid for. In contrast, the free software developer may not have a great income from his work (someone in the linked discussion said he had received 50$ in donations at 20.000 downloads), but also has few expenses and obligations. Once a website has been set up, he can begin to facilitate the distribution and development of his project because it is GPL’ed. This of course doesn’t do it alone, but if it isn’t out there, it won’t be used and improved upon (for free) at all. If an open source developer has 20.000 downloads, it means his work is popular and things are working out. He ought to wake up and find a way to leverage all that traffic and interest to create even better software, which will attract even more users and reach even greater markets. I find open source developers are typically not very good at this, and there are no easy recipes for how to make it work.

My point is, however, that even while it may not seem so at the surface level, you’re in a much worse position as a proprietary developer, than the open source and free software hobbyist, who is capable of inviting global input and value to his work by using the GPL and has very few expenses doing so.

Now, what about the user? At a first glance, users get what they want, a theme or plugin of their choice and style. But the price they pay is not simply the money changing hands. They also become dependant on a company or a particular developer to provide for them the code and support they want. If the user becomes dissatisfied with the company’s service or the company goes bankrupt, or if the developer decides to go his own way leaving the product and it’s users behind, few will relate enough to the product to be able to pick up where he left. If a piece of code has had 20.000 downloads globally, it becomes a lot easier to find someone, for whom this piece of work is not just a strange mess. But it is also possible, for a user who can’t find somebody to help him, to dive into the code himself and learn to solve problems and create new features, and then redistribute his work.

I’m really great with developers selling their work, but I believe they’re shooting themselves in their feet, if they use GPL’ed software in the first place as a platform or market, and then do not use the powerful legal tools at their disposal in the GPL and other free licenses, to leverage the reach and further refinement of what they do. And I believe users who are too impatient with open source communities and hobbyist free software developers and pay for themes and plugins help trap themselves and their developers in closed circles, which will lead them nowhere while the open communities grow stronger. There’s a real danger however, that great developer talent will wind up in these kinds of dead-end relationships, which doesn’t expose their projects to the open scrutiny of global free software communities. There’s also a real danger that open source software projects won’t spawn the businesses and startups they need, in order to create thriving communities and cultivate collaborative efforts to create even better architectures for facilitating the development of great free software. This may happen if developers and startups decline from using the GPL or other copyleft strategies, out of the misunderstanding and fear that they can’t make money on something which is “free”.