Digifesto

Category: open source software

Everyblock, Nonprofiteering, and the Affero License

Everyblock, the successful, Knight Foundation funded, open source hyperlocal journalism site, was recently acquired by MSNBC.com. This has raised some eyebrows.

First, there is the question of “whether it is ethical to take foundation money and turn around such a high profit from a corporate buy out.”

Personally, I don’t see much of a problem with this. The foundation funded innovation that is publicly available through the GPL-licensed source code. The fact that the organization that did the innovation profited from its work for the public good should be a cause for celebration, not dismay. I could see how one could have nostalgic resentment against Everyblock’s for its fall from perfectly progressive grace, but otherwise I can’t think of a reason to ethically fault anyone.

(The Knight Foundation itself may look to get more of a piece of the action in the future. In the meantime it is devoting resources to developing the community around the GPL’ed codebase, presumably to maximize the value of its social investment)

Second is the question of the EveryBlock codebase and whether it will remain licensed as open source.

Adrian Holovaty, Everyblock founder, has announced with clarity that “The code as released on June 30 will continue to be available” (emphasis mine), which seems to imply a real possibility of closed fork. Software Freedom Law Center’s James Vasile points out that if Everyblock got all contributors to sign over copyright, then MSNBC.com could do a legally closed fork. But otherwise, Everyblock could run an effectively closed fork of their code because the GPL only requires code to be released if the software is distributed; but Everyblock’s code is instead primarily accessed as a web service.

These issues come up a lot for me personally as I am involved in incubating open source projects with OpenGeo. In particular, Vasile offers some advice that strikes me as unwise:

[I]f you contribute code to a project, don’t sign over copyrights unless the project agrees to always (or only) release code under a free license like AGPLv3. More to the point, if a company holds most of the copyrights in a set of code and controls what goes into the codebase, they can usually close its source over time.

My understanding is that diffuse copyright ownership may make it harder to change the license of open source software. But sometimes, change can be a good thing–for example when Wikipedia switched from the GFDL to a Creative Commons license. In addition, I’ve been told that having many people holding copyright on a project makes it harder to enforce the terms of the license.

From my own (admittedly conflicted) open source business logic perspective, full ownership of copyright also allows for proprietary dual licensing which, in the hands of a noble organization (like OpenGeo!), could be used to funnel money back into the development community. The safest, most reliable option for copyright ownership that I’ve heard of is entrusting copyright to a open source software foundation like OSGeo.

The other implication of the Everyblock acquisition is that the GPL is essentially a permissive license in the world where everything is a web service. The GNU Affero GPL (AGPL) closes that loophole by requiring those that host a web service make their AGPL licensed code available to their network (which, in the most relevant case, is the entire internet).

Thinking this sounded like a good thing to keep in mind, and recalling OpenGeo’s policy of preferring the more restrictive GPL to “applications” like GeoServer (and more permissive licenses to “libraries” like OpenLayers and GeoExt), I suggested yesterday that we have foresight and apply the AGPL to our new project, the GeoNode (which, like Everyblock, is a mapping application built using Django and OpenLayers, along with the rest of the OpenGeo stack)

To my surprise, there was some backlash against the idea. The immediate response from one colleague was that we should adopt it “only if we don’t want any collaborators,” that it was “way too restrictive and polarizing,” and a “bastion of extremism.” Since it doesn’t seem to go beyond the intent of the GPL, but rather just updates it to contemporary computing conditions, I don’t see the big deal. (The colleague mentioned that the GPL didn’t bother him as much.) So word on the street is that the AGPL is scary and somehow deters developers, even casual ones, who would otherwise be fine using the GPL. I’d be interested to hear others thoughts on the matter.

I bet that as more cases like Everyblock bring the limitations of the GPL to light, we’ll see more open source web developers come out of the woodwork against viral licensing. For me, this is further reason to think that open source needs an updated and compelling re-articulation of its values, because its going to soon be involved again in a struggle that is more cultural than technical.

In search of an “open” politics

The open source movement has trouble articulating a coherent politics.

On the one hand, we have people like Matt Asay. Asay does a good job of making open source palatable to the mainstream business world. But he depoliticizes it so aggressively that he sometimes misses the (elusive) point.

In his recent post, “Free software is dead. Long live open source“, Asay argues that the free software ideology is too uncompromising about proprietary software. Open source has succeeded–or will succeed (Asay waffles as to whether the victory is already manifest or merely inevitable)–because it has embraced interoperability with proprietary software.

The path forward is open source, not free software. Sometimes that openness will mean embracing Microsoft in order to meet a customer’s needs.

Free software has lost. Open source has won. We’re all the better for it.

There is a disconnect in Asay’s post between his benign praise of interoperability and the tone of his screed against the Free Software movement. Though it was likely lost on many readers, the best explanation for that tone, and for his break from his normal subjects of open source business news and strategy, is that the post (published September 25) was written in tacit response to Software Freedom Day (September 19).

As could be inferred from its “freedom” rhetoric, Software Freedom Day is an explicitly political event. It’s vision:

…is to empower all people to freely connect, create and share in a digital world that is participatory, transparent, and sustainable.

It’s objectives are to:

1. to celebrate software freedom and the people behind it
2. to foster a general understanding of software freedom, and encourage adoption of free software and open standards
3. to create more equal access to opportunities through the use of participatory technologies
4. to promote constructive dialogue on responsibilities and rights in the information society

The free software movement is alive and kicking. Meanwhile, the politics of free software have spilled out into Free Culture movement and others. The Software Freedom Law Center’s James Vasile, inviting everyone in that ideological space to NYC’s Software Freedom Day event, noted:

Our production model, our ethos, and our focus on transparency, running code and the freedom to share are spreading beyond software to other areas of culture, including government, media, science, and the arts.

In New York City, Software Freedom Day will mark the launch of a series of quarterly Open Source / Open Culture events designed to engage free software hackers, creative commons artists, open government activists, and open science innovators.

All this talk of ethics , activism, rights, and freedom gets in the way of selling open source software to businesses, which explains why Asay proclaims so vigorously that free software is dead and has lost: precisely because it isn’t and hasn’t. Asay is trying to shift discussion away from these philosophical concerns. As he explains in a later post,

The problem I have with free-software advocates like Richard Stallman is that they think freedom is the primary reason to use open-source software. It’s not. Utility is.

After all, we’re not talking about essential human rights here. We’re talking about getting work done with software.

The problem with the philosophical rhetoric is that it is not persuasive to consumers. But the problem with depoliticizing open source is that it alienates the producers, who are often politically, not monetarily, motivated to engage in the open source process.

Consider Ian Bicking’s soul-searching about what it means to be an open source programmer. He traces his 15 year history of engaging with free and open source software. His story starts with his discovery of the GNU Manifesto while poking around Emacs.

When I read [part of the manifesto] I was immediate head-over-heels in love with this concept. As a teenager, thinking about programming, thinking about the world, having a statement that was so intellectually aggressive was exciting.

It wasn’t saying: what are we not allowed to do, nor did it talk about some kind of societal injustice. It didn’t talk about the meaning of actions or their long-term effects. Instead it asked: what must we do, not as a society, not in service of some end, but what are we called upon to do as an individual, right now, in service of the people we call friends.

But after this era of moral attraction to free software, the FOSS community’s discussion shallowed and narrowed to a discussion of the production model and the particulars of licensing. FOSS ceased to be a matter of positive moral activity; rather, it became a list of things one was merely legally allowed to do.

What’s missing, Bicking goes on to explore, is the meaningfulness of identifying as an open source programmer. Acknowledging that the practical aspects of FOSS are ultimately more compelling than Stallman’s moral arguments, he asks:

The open source and free software philosophical divide: on one side practical concerns, on the other moral. And this is what I want to talk about later: can we find a moral argument for these practical concerns?

Speaking personally, I feel this dilemma. When I chose to enter the software industry, I made a deliberate political choice to work on open source software at a social enterprise rather than at a proprietary startup. And I see a similar tension among colleagues at OpenGeo, TOPP, and in the developer communities I participate in and hear about.

OpenGeo especially is aiming for commercial success, and is shifting its priorities and marketing message accordingly (heavily influenced by Asay, via our own pragmatic open source industry veteran Paul Ramsey). The question that seems to underly a lot of our internal angst and discussion is, “Are we selling out?”

The answer is, “No.” But it’s not a good enough answer. It’s not good enough because one of the virtues–both pragmatic and moral–of open source is that you don’t have to put up with the bullshit of having to say or do things you don’t mean. Part of the point of open source process is that it is open.

The solution to the problem can’t be an uneasy tension between snappy sales pitch and a hidden agenda. That undercuts both the sincerity of the pitch and the viability of the agenda. Rather, there needs to be an articulation of the open agenda that is compelling for both outsiders and participants, both producers and consumers, so that those distinctions can be ultimately extinguished.

The End of the Open Scare

The New York Times published an uplifting article this week about R, a free software environment for statistical computing that was a side project of two academics that is now used extensively at places like Google and Pfizer. It’s a great read right up to the slam by the proprietary competitor that is so typical it may just have been included in the spirit of satire:

The popularity of R at universities could threaten SAS Institute, the privately held business software company that specializes in data analysis software. SAS, with more than $2 billion in annual revenue, has been the preferred tool of scholars and corporate managers.

SAS says it has noticed R’s rising popularity at universities, despite educational discounts on its own software, but it dismisses the technology as being of interest to a limited set of people working on very hard tasks.

“I think it addresses a niche market for high-end data analysts that want free, readily available code,” said Anne H. Milley, director of technology product marketing at SAS. She adds, “We have customers who build engines for aircraft. I am happy they are not using freeware when I get on a jet.”

But while SAS plays down R’s corporate appeal, companies like Google and Pfizer say they use the software for just about anything they can.

The comment by Milley would annoy me if the rest of the article didn’t make it look so ridiculous. As a whole, the article evidences that mainstream media “gets” open source software and that proprietary software company’s old marketing tactic of insisting that free software is inherently unreliable is becoming less effective.

The evolved version of this argument attacks free software for its unreliable support, as opposed to its inherent reliability. This is the case ESRI’s Jack Dangermond made and which Paul Ramsey so aptly deconstructed in December. But articles like the NYT expose the flimsiness and desperation of these arguments in the face of a rising tide of enterprise-level, supported open source software. Maybe soon proprietary companies will stop calling free software names.

MIT CourseWareThatIsMerelyAjar

Yesterday I started looking into MIT OpenCourseWare and got very excited.  The range of courses for which there is open material available is enormous.  With these curricula at my fingertips, the way was open for me to educate myself, on my own time, without significant expense.

Then I dug a little deeper, into the available content for their introductory course on Nonlinear Dynamics I: Chaos.  To my dismay, I learned that their assignments involved code snippets written for MATLAB, proprietary mathematics software for which you need to purchase a license.

MATLAB is an excellent product and a standard software package used in universities, so it makes sense that courses transitioning to openness would initially depend on it.  However, it presents a serious obstacle to the open distribution and use of the course content.

Fortunately, Ryan Morlock has listed several open source alternatives to MATLAB, and some use languages that are “mostly” compatible with it.  It looks like the most of the assignments wouldn’t be difficult to port over to something like Octave.  It’s just a little shocking that nobody has done it yet.

FOSS4G Erratum

Thanks to Jody Garnett and Archeogeek for their correcting my misrepresentation of OSGeo in my first post from FOSS4G.  As they point out, OSGeo does not, as an organization, have it in for ESRI.  Rather, their mission is a purely positive one: “support and promote the collaborative development of open geospatial technologies and data.”  Indeed, I had no right to speak for the organization at all, having been exposed to it directly really only for a few days at that point.

Apologies for being caught up in the irrational exuberance of the moment, projecting my own opinions on the rest of the community, and generally overstepping.

Free software and capitalism

As the global capitalist economy tanks, and as I attend a free software conference, my mind alights on the subject of the role of free software in global capitalism.

My verdict: it is a radical departure.

Capitalism is an economic system whose foundation is the private ownership of the means of production.  Software is, among other things, a means of production.  Free software is not privately owned.*  So each successful free software project shifts the foundation of the economy towards…something else.

But what?

As Arnulf Christl has exhorted throughout the conference, the opposite of free software is proprietary software, not commercial software.  The proliferation of open source software has brought with it an open source industry that operates in the market just like other industries.

I’m certainly not the first to say this, but it seems high time for an economic theory that takes intellectual goods, and their tendency towards freedom, as fundamental instead of grafting them onto theories about trade in “normal,” material commodities.

* pace, licensing quibblers.

Governments in open source

As I write this I am sitting in on the “FOSS GIS in Government” working session at being put on by SITA (State Information Technology Agency, the South African government created IT strategy company).  The working session is attended mostly by members of South Africa’s government, who are coming with questions and skepticism about using free software.

A lot of what I’m seeing here is unsurprising.  Arno Webb, the representative of SITA, delivered a presentation that was full of slides showing hierarchies and taxonomies of institutions and initiatives that SITA believes are necessary for the use of free software in government.  The acronym, FOSS, is a convenient encapsulation for them–it is peppered throughout the presentation and then paired with government-ese.  You would not be able to tell what the presentation was about if you didn’t know what that acronym meant.

As it should be.  There is a palpable difference between the culture and expectations of the government community and the open source development communities here.  Nevertheless, the alliance is a perfect one.  So it wonderful to see people working from both sides to bridge the gap.

One initiative Arno and other speakers from the government sector have describe has especially convinced me that these people get it.  When discussing the transition to open source, these government representatives often talk about how they will be producing training materials for the software they depend on.  And if anybody asks whether these materials will be made publicly available, the answer is, “Absolutely.  Yes.  We are adopting the same principles of openness as the software.”  Arno Webb describes a “Trilogy of Openness”– open software, open standards, and open content. The latter refers to the content that the government created training materials.

What this means is that governments will not only be users of open source software; they will also be contributing back to FOSS communities.  That’s awesome!  Free software developers are notoriously bad at providing documentation for their work, but everyone acknowledges that documentation is an important part of the software project and crucial to the software’s adoption.  And governments, who are real users with real needs, are highly qualified to contribute that documentation.  Those contributions are the perfect way for people in government to become part of open source communities.

Culture shock

I have the privilege of attending FOSS4G 2008 (Free and Open Source Software for Geospatial) in Cape Town this year as an engineer for OpenGeo.  This is my first time attending a technology conference, and so came with few expectations.  But what I had gathered from colleagues who have attended in the past was this conference is primarily for hackers and open source entrepreneurs who are committed to the free software paradigm and bringing it to the GIS world.  The event is put on by OSGeo, which is unguarded about its goal to piss off ESRI, the monopolistic proprietary GIS giant who we believe misserves their costumers and, indirectly, the general public. (Author’s note: Please see comments below and retraction, here.)

So far, most of the people I have met are coming to the conference from this angle, and it creates an exciting atmosphere.  What I didn’t understand until today was that there are other major groups attending FOSS4G this year.

The reason why FOSS4G is being held in South Africa this year is because FOSS4G is being co-sponsored this year by GISSA, the Geo- Information Society of South Africa.  They have contributed to an otherwise technical conference a humanitarian focus.  The first few talks given today were sober ones about the crises of developing nations, beginning with the health and crime problems in Cape Town itself.  The theme of the conference is oddly cautious: “Open Source Geospatial: An Option for Deveoping Nations.”  GIS professionals from government and NGO’s have been invited from developing countries around the world, with a couple hundred from South Africa itself.

The result is a strange cultural mix.  The FOSS crowd is lively, reliably laughing and applauding when a speaker makes a dig at proprietary software (PowerPoint, Internet Explorer, Apple).  Their speeches are deliberately humorous and irreverent.  After Ed Parsons gave a rather cluelessly untargeted talk about how Google’s (proprietary) products are awesome and how easy it is for people ot use them to make (proprietary) data, the crowd dragged him over the coals during the Q&A.

The government and GIS groups must find this strange.  Their tone was consistently more serious, more cautious, and less confrontational.  The pace of their presentations was slower.  They presented their tragic facts and their strategies to overcome them without the exuberance and confidence that this was their time to rally.

The point of bringing these two groups together is so that groups like GISSA can evaluate the appropriateness of geospatial FOSS for their very serious needs.  In many ways it’s great that they can see the FOSS developers in their element, since the transparency of the open source process and the enthusiasm of its participants is one of the software’s selling points.  But on the other hand, I worry that the two groups are speaking different languages.  I’ll be interested to see whether there’s any convergence by the end of the week.

Software Freedom Day (Party!)

Last Saturday was Software Freedom Day, and the New York City celebration was held at the familiar Lime Group roof deck/offices in downtown Manhattan.

The event was inspiring, largely because of the presence and words of luminaries. Eben Moglen offered a benediction for the event that combined optimistic gaiety with a sense of historical scope. The gist? (paraphrased:) “We have been fighting for this for a long time. And we are going to win. And to win you just have to keep doing what you are all doing now. So I have nothing to say but to say it’s a lovely day and let’s have a wonderful party.”

Eric S. Raymond was also there, though less noticeably. If I had to guess I would say he was deliberately negotiating a tension between obscurity (he mentioned at some point having “gone stealth”) and wanting to be recognized. He succeeded on both fronts, with a shocking number of people not knowing who he was, but with several of those who did crowding in around he and Moglen as they discussed the history and future of the movement.

Several interesting topics were discussed while I listened in on the conversation.

Medical Devices

Moglen gave an account of why the GPL 3 license was delayed for so long beyond his self-imposed deadline for it. The completion of the license was hindered by Richard Stallman‘s insistence that the license should include prescriptions against the use of proprietary code in implanted medical devices. I have no idea how that prescription could be accomplished within the legal context of the license–perhaps I heard wrong. Or maybe I didn’t. Moglen was apparently convinced that such a clause was unenforceable in court and kept that language out of the GPL.

What I found interesting is that while normally I find the Stallman-esque deontological arguments for free software pretty crude and uncompelling, the thought of proprietary technology in my body does send a chill down my spine. It’s the sort of thing that too easily unfolds into a grim dystopia, at least in ones imagination.

Apple

Apple was discussed at length, almost to the exclusion of Microsoft, which was mentioned only to acknowledge its decline. From where I was standing it sounded like Steve Jobs was believed to be the biggest threat to the free software movement around. Between Apple’s recent rise in popularity and his association with Disney, he is now a poster boy for the sinister success of unfree intellectual property.

There was real fear here, and the devil was in the details. Moglen explained how Apple’s use of LLVM as an alternative compiler to the GCC represented a threat to the movement. If I followed correctly, this is due to the fact that LLVM has a more permissive, “BSD-style” license.

At this point, ESR, true to his reputation, began to object: What was wrong with the more permissive license? What’s wrong with BSD licensing? Isn’t that open source? Fears and scars of FSF dogmatism were inflamed.

The problem is patents. LLVM’s license allows more room for Apple to use software patents than the GCC’s licenses do. And Apple now has the opportunity to maneuver themselves into a place where through those patents they can dominate the software that can be run on their machines. Those bastards!

EDIT 8-24-08:
Commenter Owen (see below) points out that LLVM’s license actually stipulates better guarantees about the use of patents than i originally thought. It’s quite possible that I misunderstood the discussion on Saturday, or that somebody there was misinformed about the LLVM’s license.

Reflections

It was a great party, and the conversation there made me feel maybe for the first time like I was playing a part in a real political movement that had originated decades ago, even though I’ve been enthusiastic about open source principles for years and now write free software for my day job.

What I found both entirely appropriate but somewhat distant, however, was how narrow it seemed like the struggle being celebrated that day was. It was 100% a day about free software, and the discussions plumbed the depth of that topic without reaching out to related areas of free culture, the science commons, net neutrality, etc.

Lately, I’ve been giving a lot of thought to the broader social and economic consequences of open source software, and it has occurred to me that its import for me is embedded in a network of other values and ideas that often require an abstraction from the particulars of the software movement. It was refreshing and grounding to be closer to that point of origin for an evening.

Why not OpenLayers?

Last week I attended the OpenLayers sprint hosted by MetaCarta in Cambridge, Massachussetts. It is likely that you’ve never heard of OpenLayers. Here’s how the website describes it:

OpenLayers is a pure JavaScript library for displaying map data in most modern web browsers, with no server-side dependencies. OpenLayers implements a (still-developing) JavaScript API for building rich web-based geographic applications, similar to the Google Maps and MSN Virtual Earth APIs, with one important difference — OpenLayers is Free Software, developed for and by the Open Source software community.

OpenLayers is a flexible, powerful library that can read, display, and write geospatial data (or “maps,” as they call them on the streets) in a number of formats. You can load it to a web page in a compressed, single file version, or look at the whole, unobfuscated library and tweak things to your liking.

What’s strange, then, is why in a world where for web development “mashup” has become synonymous with a Google Maps application, OpenLayers–which has in many cases identical functionality–has so few users. Even at The Open Planning Project, where several of us work on OpenLayers development, most of my colleagues turn to Google Maps for their web mapping needs instead.

While at the sprint, I had several of fruitful conversations with the other developers about why this is the case. Here are the explanations that those conversations brought up.

  • Data. The single best reason to use GoogleMaps instead of OpenLayers is that GoogleMaps gives you access to their now ubiquitous base layer bundled with their JavaScript for controlling the map. If an OpenLayers user wants to use that base layer, they need to import the JavaScript that implements their API along with the map. The OpenLayers library then becomes redundant–it’s just an extra 100 KB of Javascript on the page, when the user could just use the Google code instead.
  • Documentation.  The other big advantage GoogleMaps has are its beautiful tutorials. Basically all OpenLayers has going for it in terms of docs are the somewhat inscrutable natural docs and a suite of examples. The documentation is designed for OpenLayers developers, not as a way of making OpenLayers easy for users. That naturally scares a lot of people..
  • Design. The default UI for the various OpenLayers controls suffer from indifference to design. Neither prettified nor minimalist, the best word I can think of for it is “literal.” In principle, web applications that use OpenLayers can easily re-theme their maps. EveryBlock does some nice work along these lines. But in practice, redesigning OpenLayers is actually labor intensive when you include how long it takes to figure out how to do it. The Community Almanac project we’ve been developing at OpenGeo, for example, still uses the default zoom control, even though the rest of the site has had some wonderful design work done for it. OpenLayers could be made much more appealing right out of the box.

What do these three things have in common? They are outside the realm of the normal activity of its development community, which is made up primarily of engineers from places like TOPP, MetaCarta, and Camp-to-Camp. Data, documentation, and design are not our forte. Many would argue that accumulating, styling, and hosting free data is completely out of OpenLayers’ scope. But nevertheless, these issues are exactly what’s holding OpenLayers back from being a widely used tool across the web. Its ultimate success depends on the community’s finding a way to overcome them.