Don't be fooled by phony 'open source'

You want a contributor network effect? Get a real open source license.

A number of attempts have been made recently to define open source models -- even new licenses -- that limit the freedom of anyone but the project instigator to benefit from the full range of rights to the software. Proponents believe they can generate a "network effect" of adoption and contribution without providing the same software freedoms to all.

They are deluding themselves.

I've been involved with open source projects in one way or another for more than a decade. I remember going through the whole learning cycle: being amazed by the fact open source software was free to the end-user; discovering a community of developers, testers, writers and deployers around each open source project; being stunned that competitors were actually collaborating in some projects; and so on. Everyone goes through this discovery process, which parallels Fowler's "stages of faith" model of personal growth.

Newcomers to open source are often astonished to find great, complete, actively maintained software available free of charge. Some assume this is because of the selfless philanthropy of others "giving their work away free." Some even assume this is naivete on the part of the developers; indeed, one business leader has concluded that the best way to deal with the threat of open source to his business is to be parasitic: "If an open source product gets good enough, we'll simply take it."

But the reason software is available for no cost to end-users is not a matter of philanthropy or naivete. Rather, the collaborative development of the software by programmers requires that all the obstacles copyright law introduces must be set aside to make collaboration possible. The zero-cost license fee for end-users is a side effect of the provision of that liberty between the developers. Open source licenses, approved by the Open Source Initiative as conforming to the Open Source Definition, deliver that freedom to collaborate.

An open source community that's properly constituted and provides all participants with equal rights generates a network effect. The network effect leads to widespread adoption of the software and engagement on the part of users and developers. But that network effect depends on everyone having the liberty to use the software for any purpose -- to study and modify the source code and distribute both the software and any modifications, all without needing the permission of anyone else.

Why fakery fails

To seek the network effect without the liberty is self-defeating. It's highly unlikely to emerge, and if it does it will always be vulnerable to collapse when the community realizes it's not in possession of the same liberties as the initiator of the community. Why do people do it? After all, there are frequent attempts at "open core" models of open source community development, usually with "community managers" who try to minimize the effects of the cognitive dissonance.

There are also regular attempts to devise schemes where software is called open source, but where the initiators of the project have special rights to monetize the work that other community members don't have. One recent set of proposals involved releasing software under an open source license only after a monetization period had passed -- an "open source eventually, guaranteed" approach. But such approaches won't generate a network effect of contributors. Other contributors will need to know they can benefit equally straight away to justify their full engagement.

I believe these various mutant open source ideas result from a failure to grasp the true role of "software freedom" -- the guaranteed rights to use, study, modify, and distribute source and binary -- in an open source project. Those who continue to assert that it can are stuck in the earlier stages of understanding open source. Seductive though the idea may be, the network effect cannot be achieved without the corresponding software freedoms.

Copyright © 2013 IDG Communications, Inc.

How to choose a low-code development platform