What are the most important things the software freedom movement can do for itself?

On 2015-01-10 I responded to the FSF’s call for feedback on their ‘High Priority Projects List’ with an email, which I’ve added a bit more to and posted here.

The call goes like this:

we’re looking for projects of great strategic importance to the goal of freedom for all computer users … not every project of great strategic importance to the goal of freedom for all computer users will be a software development project. If you believe other forms of activism, internal or external (e.g., making free software communities safe for diverse participants, mandating use of free software in the public sector), are most crucial, please make the case and suggest such a project!

I believe the biggest strategic mistake the GNU project has made in its 30 years is to shirk away from supporting and promoting projects that pay full time labor wages for the development of free software, without compromising and also distributing some non-free software.

Just as “the future is here but its not evenly distributed,” there are some people in the software freedom movement who have financial skills to complement their technical skills, but while the software freedom movement is having great success at distributing technical knowledge about how to use and develop free software, it is having great failure at distributing such financial knowledge.

But we can fix this.

At many of the public speaking engagements by RMS that I have attended, and in my own experiences as a public speaker presenting software freedom, the first question from the audience is,

“I understand the ethical issue of software freedom, but how can I earn a living developing free software?”

This is often asked first, and is often asked repeatedly. Both have happened to me when the focus of the presentation was on this topic; I believe many people’s default assumption, their deeply held belief, is that it is not possible.

Demonstrating unequivocally that it is possible, that many people do it, but you just haven’t heard about them, is, I believe, the most important strategic improvement the movement can make.

At RMS’ presentations, his reply will vary by the phrasing of the question and his mood, from a brusque

“This is an irrelevancy, your freedom matters more than your rent check”

to

“Many companies develop free software, take an employee job at one of them”

to

“You can charge for development services, support services, branded goods, or other complementary goods.”

I believe he is shy of this because attempts to develop free software commercially are usually attempts to develop free software for profit, and that often leads to proprietary software.

For example, the first piece of commercially developed free software was GhostScript. The GNU project started in 1983, and in late 1986, following RMS’s suggestion https://web.archive.org/web/20041013082602/http://devlinux.org/deutsch-interview.html L Peter Deutch began developing GhostScript as an evening-and-weekends hobby project while working for proprietary software development company https://www.gnu.org/bulletins/bull3.html; the year of Adobe’s IPO. Len Tower’s announcement of its inital release in the gnu.announce usenet group in 1988 https://groups.google.com/d/msg/gnu.announce/72qocYYvQng/opig0vreliAJ included a ‘doing business as’ alias for Peter, and he soon quit his day job to work on GhostScript full time.

Peter said,

“as the author of GhostScript, has done what very few people have managed to do: he has managed to work on a project of his choosing, to release it as free software, and to do so while generating a sufficiently positive cash flow that he can now consider retirement,” – https://web.archive.org/web/20041013082602/http://devlinux.org/deutsch-interview.html

And he has only done so by maintaining a single-party development organization that sold proprietary licenses to the latest version ‘Aladdin GhostScript’; he had a written agreement with RMS to always release a free version, which became ‘GNU GhostScript’, although the agreement didn’t say when.

This may have been the first time that commercial development of free software would go awry for the software freedom movement, but it would not be last.

Indeed, perhaps the default outcome of attempts to develop free software commercially is to distribute proprietary versions.

But there are some ‘success stories,’ some ‘case studies’ we can make of organizations that only distribute free software, that charge customers fees, and that pay people full-time wages to do so. This doesn’t necessarily mean for-profit companies, and it is something the FSF has done; indeed it seems this was one of the primary purposes of the FSF in the late 80s and early 90s, when all GNU projects were ‘high priority.’

In 1989 Cygnus Solutions was founded with capital saved from proprietary software development at SUN http://en.wikipedia.org/wiki/Cygnus_Solutions. Some of the early marketing material is available from cofounder-investor John Gilmore http://www.toad.com/gnu/cygnus/ which offers insights into how to sell free software. While Cygnus eventually succumbed to distributing proprietary software, I mention it because of EGCS, the commercial fork of GCC v2 in 1997 https://gcc.gnu.org/news/announcement.html. That was the first time I know of that the multi-party, full-time-funded developers of a GNU program had accelerated development to point that unfunded leadership of GCC by GNU was untenable. While this was reportedly acrimonious at the time, eventually EGCS became the next major version of GCC.

I recommend that any GNU project or other free software project that is developed by multiple parties who pay developers full time wages is a high priority project – not for development support, but for promotion to show that it is possible to make free software full time.

My favorite contemporary example of this is https://guardianproject.info although I have not been in contact with those developers for a couple of years so I’m not sure how they are doing, but a few years ago I heard that they employed a small team of developers in NYC and paid them around US$100,000/year wages – which a starting salary in NYC or the Bay Area in 2015.

Videos like https://www.fsf.org/blogs/community/user-liberation-watch-and-share-our-new-video are incomplete without addressing this. I wish that the video will be edited to say that it is possible; that gas has to be put in the vehicles and pay for with money, and its possible to earn money by developing free software, and here’s examples of people who do it today and started back then and here’s a simple memorable slogan for the model.

Some people in the software freedom movement know how to set up their finances and how to set up organizations such that they can work on software freedom issues full time. Many people don’t. That’s what I mean with the “The future is here but its not evenly distributed” stuff.

RMS is naturally the first person to have done this. First, his lifestyle is an early example of the ‘early retirement extreme’ – http://earlyretirementextreme.com/ – model, where you (a) avoid having children and possessions and cut your spending and (b) save a lot of a regular salary until you have enough savings to generate enough interest that you can stop working and live this extremely low-budget lifestyle indefinitely. Second, he set up the FSF (which doesn’t pay him a wage) to raise funds and page wages to developers to develop high priority projects.

There are some active free software projects today which have attracted venture capitalist funding. What’s the diff between what typical proprietary software founders must do and what the founders of these commercially developed free software projects do?

I believe this improvement has direct practical benefits for the movement. The biggest category of ‘missing’ free software I see is end-user applications with pleasant user experiences; this video says something about free software being invisibly ubiquitous, but that is because a lot of free software is developed for computer industry companies and very little free software is developed for end-users.

I believe that many developers grow up loving the principle of software freedom, but after graduating find employment with proprietary software developers because they do not know how to earn a living developing free software.

I believe that it is strategic to spread the understanding of how to earn money developing free software, from the scale of an individual sole proprietorship to that of a multinational corporation.

I propose that what success looks like here is when this knowledge is as widespread as that of how to license software freely, or, indeed, how to write programs that run only on free software. (I remember a time when most developers did not, and I’d like to think that the situation is now flipped and there are not many developers left today who do not know any free systems…)

I wish there was an active free software job market website. There was a project within GNU to make a job site software for this, mentioned at http://lwn.net/Articles/216075/ nearly 10 years ago, but it was abandoned.

There are ‘per issue’ funding sites, like https://freedomsponsors.org/ and https://www.bountysource.com/ – but these (so far) don’t raise a full time wage; also https://gratipay.com is worth mentioning which is the inverse, where you pay someone for nothing in particular except you like what they do and want to send them a tip.

The most well known model for funding projects is now the ‘street performer protocol’, thanks to the http://www.Kickstarter.com business. But this protocol is from a game-theory or economic-math model point of view not ideal for funding projects that create non-rival goods: it suffers an inherent free rider problem… “why not just bookmark the project and have everyone else pledge and come back after its funded and fetch a copy?”

To overcome this, http://www.Fund-io.com seems interesting, although its base format is not FSF-approvable because it involves a period of time where copying is monopolised, it does have a subscription format that might work for uncompromisingly for free culture projects. A similarly motivated response is the http://www.snowdrift.coop model, and that is actually an active project.

However, I’m skeptical of the snowdrift.coop implementation of the model, because I think its core messaging and framing is too stringent, and implicitly and explicitly it requires people to share values other than software freedom. That is itself something that happens often, and I think drives people away. A concrete example is http://libreboot.org/github/, which I read as saying “The opinions expressed by [an open source developer] are incompatible with those of [the FSF]. Users and developers of free software are strongly advised not to use [his #1 worldwide most popular source code hosting service] for any of their projects.” I think this is not a positive attitude and does not help advance the cause of software freedom; I think a better response is to ask, how can we use this source code hosting service using only free software? And then to write what doesn’t exist yet. Also, both snowdrift and libreboot folks will be at libreplanet, so I hope to discuss these ideas there in person : )

I wonder that the FSF could certify projects in a similar way to hardware; certifying that they only publish all their work under an appropriately free license, and additionally certifying that people involved in the project make free software full time. The FSF’s first organization would be the FSF itself, so its clear that it isn’t asking anyone to do anything which it doesn’t do itself. However, I fear that this could risk further diluting the FSF message but implicitly and explicitly requiring people to share values other than software freedom.

I have a memory from a long time ago (2004) that I asked RMS about marketing, and he said something like, the FSF doesn’t do marketing, because marketing is a euphemism for lying, and it is what for-profit companies do, and it harms society, so he won’t have the FSF do it. The FSF now has campaigns managers, and I think they could learn to be more effective if they studied (and the FSF hired people with experience in) for-profit marketing and advertising management for tactics to use for the not-marketing the FSF does.

So, finally, my best practical recommendation is that the FSF put projects on the HPP list that enable anyone to run a small business using only free software. Software to run a business that enables a young hacker and their friends to develop free software full-time. Accounting software like http://gnucash.org and http://sfconservancy.org/npoacct/ seems like a start. Billing software. Direct marketing software. Customer support software. Whatever fits the narrative.

The 2nd big category of questions I am asked about the software freedom movement is about its inherent hypocrisy, when most people are not actually running a 100% free software system despite 30 years of trying. This makes it seem like a impossible utopian project which has already failed and its just crazies hanging on to keep the dream alive. When actually, we have real progress on this front – certainly since the last time I attended Libre Planet in 2011. In 2015 you can say “I run 100% free software on this hardware” by paying a modest fee for a X200 – http://shop.gluglug.org.uk/product/libreboot-x200/ – and I have high hopes for https://www.crowdsupply.com/purism/librem-laptop .

I wonder that in the 5-10 year time frame, a similar project to Librem for a phone could be possible. https://hsivonen.fi/phone-freedom/ makes a good case for what practical steps the movement must take to make the software platform for such a phone to be useful in a way compatible with the GNU manifesto’s vision; the current era of ubiquitous high speed internet and hand held computers that can make phonecalls could not be foreseen in 1983, but the ideas are strong and I think will carry through.


Whew. Since then a friend on the FSF’s HPP Review Board mentioned that a handful of other HPP opinion pieces have also been blogged so far, and asked me to post the above publicly, so here we are.

Also a friend who was a GNU contributor in the past wrote of the initial version of the above:

QUOTE STARTS

I still say there is an economic role in waiting for small businesses that serve between 2 and 50,000 customers. These businesses would be the suppliers of trusted installs to their customers. Roughly speaking, these small businesses would replace corporate “app stores”.

There is a natural scarcity of trusted-to-download-and-run software. You don’t run binaries from just anyone, so to speak.

Corporate proprietary software types compete to eliminate the natural scarcity of trusted-to-download-and-run software. For example, Apple competes to make its costs-per-download from their app store close to $0. They want the store — everything from vetting apps for placement in the market to actually delivering and activating an app — to be as automated as possible. To cost nearly nothing. Then when they divide up the $0.99 price of an app, most of it is profit (for them).

They do a bad job. They have to do a bad job. They create a massive single point of failure for society. They also can’t “curate” the collection of software with any real concern for customer needs and interests. Also, they can’t keep that shit safe — it is a series of IT disasters waiting to happen. So they do a bad job.

The small-provider model is more robust. Instead of one mega app store there’s many small ones and so automation is less critical. Single-points-of-failure are at least reduced. There is competition for how to curate the software collection.

Now on the one hand that cottage-industry approach sounds like something the right hustlers could do today, given a little inventory. I’m not sure what the right HW to support would be. I’m not sure what free software to support. But I would guess there are niches that could grow.

Any brave hustlers doing that would probably be drawing off debian or something close to it but that isn’t going to be a generalizable or high quality solution for the long run.

Therefore (I am thinking) if there were some of these small guys starting up anyway and if they are smart and serious about this that this would create an opportunity to begin to think about how to turn them into a kind of syndicate. On one level they compete to dominate “service areas” of 1..50K customers. On another level they collaborate to keep the supply of trustworthy and quality software coming.

This raises the question of what forms that collaboration takes.

One form might be for these small providers to pool revenues to create something akin to royalties.

Schematic example: I have a libre phone (let’s imagine). I have a libre software supplier for that phone — a local small business. I pay some subscription fee and I can download apps from the library. My phone’s software supplier voluntarily pays out some of my subscription fee as “royalties” on stuff in the download library.

Given the potential existence of these “royalties” I hand-wavingly say that there-in lies the answer to software with a high quality user experience. In this system I have described people will, much more than with existing proprietary systems, be able to reward quality with their pocketbooks.

I don’t know how to bootstrap it. I like your mention of GNU Cash as a possible priority, in that regard.

END QUOTE

Later on 2015-02-06 I sent a second email to HPP, and this version is slightly edited:

I just came across http://www.propublica.org/article/the-worlds-email-encryption-software-relies-on-one-guy-who-is-going-broke is a great article that specifically mentions RMS lectures having a material impact on the software freedom movement – and it is his lectures that led me to spend the last 8 years working on libre fonts – and that shows the lectures ought to spread the idea that you can uncompromisingly develop libre software and raise a living wage for yourself by doing so.

In 1997, Koch attended a talk by free software evangelist Richard Stallman, who was visiting Germany. Stallman urged the crowd to write their own version of PGP. “We can’t export it, but if you write it, we can import it,” he said. … [ 2 German government grants funded the work full time ] … But in 2010, the funding ran out.

For almost two years, Koch continued to pay his programmer in the hope that he could find more funding. “But nothing came,” Koch recalled. So, in August 2012, he had to let the programmer go. By summer 2013, Koch was himself ready to quit.

This is as fine an example of the pervasive, general lack of understanding about how to raise salary amounts of money to pay developers to work on free software full time as I could imagine; it proves that it is possible, that our community can do it, but that we don’t understand how to do it reliably.

Fortunately in this case, some ‘Rich Uncles’ have stepped in to fund Werner for the next year, because of the publicity the article raised, it seems — but the problem of funding a usable GnuPG looms:

“Looking forward, however, I think of GPG as a glorious experiment that has run its course. The journalists who depend on it struggle with it and often mess up (“I send you the private key to communicate privately, right?”), the activists who use it do so relatively sparingly (“wait, this thing wants my finger print?”), and no other sane person is willing to use it by default. Even the projects that attempt to use it as a dependency struggle. These are deep structural problems. GPG isn’t the thing that’s going to take us to ubiquitous end to end encryption, and if it were, it’d be kind of a shame to finally get there with 1990’s cryptography. If there’s any good news, it’s that GPG’s minimal install base means we aren’t locked in to this madness, and can start fresh with a different design philosophy. When we do, let’s use GPG as a warning for our new experiments, and remember that “innovation is saying ‘no’ to 1000 things.” – http://www.thoughtcrime.org/blog/gpg-and-me/

“Any solution that isn’t easy to use and easy to understand is a poor solution. And GPG is neither.” – http://daringfireball.net/linked/2015/02/26/moxie-marlinspike-gpg

But after the Snowden news broke, Koch decided to launch a fundraising campaign. He set up an appeal at a crowdsourcing website, made t-shirts and stickers to give to donors, and advertised it on his website. In the end, he earned just $21,000.

Perhaps with a better model like http://www.fund-io.com or http://www.snowdrift.coop the results could have been higher, but really the problem is a lack of understanding the craft of the salesperson.

The campaign gave Koch, who has an 8-year-old daughter and a wife who isn’t working, some breathing room. But when I asked him what he will do when the current batch of money runs out, he shrugged and said he prefers not to think about it “I’m very glad that there is money for the next three months,” Koch said. “Really I am better at programming than this business stuff.”

The business stuff isn’t more difficult. Its just more obscure. Here’s a book I enjoyed on the topic:

https://www.google.co.uk/search?q=The-Secret-of-Selling-Anything.pdf


And finally, since you read all this way to the end, here is a copy of my 2008 MA dissertation on the history of the software freedom movement (I think this is pretty solid), how that relates to typography (I think this part is… okay), and some of the ideas I had about what I intended to do about it after I graduated (I think this part is rushed, and lacks my best thinking at the time, which has since evolved…) Here’s the file: dave_crossland_matd2008_dissertation.pdf

This entry was posted in Uncategorized. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

One Comment

  1. Posted 20 April, 2015 at 3:27 pm | Permalink

    Was reading one of your blogs (http://understandingfonts.com/blog/2015/03/hpp/) and came across some of your reporting about GhostScript and its origins.

    “Peter Deutch began developing GhostScript as an evening”…

    It was about the time shortly after I joined Martha (my wife) at SCS (1983) that I contacted Peter and told him how much we liked his very early releases of GhostScript. He was surprised when I said I wanted to pay him for the copies I wanted to distribute.

    “It’s free. Do with it what you want.” I remember him saying. He very much didn’t want to turn his hobby into a commercial venture. And then he said “What do you want from me?” “Nothing,” I replied. “But maybe you might take some of my calls.” We used GhostScript for both on screen proofing and b&w printing to a wide Cannon bubble jet printer. We had to get special paper and ink for the printer to get the dot gain characteristics right for newsprint and not have paper folds in the middle of pages.

    There were never many calls.

    We needed low cost diagnostic proofing technology in support of our pagination development efforts. I can’t imagine how difficult this would have been without GhostScript. SCS was the first to provide a complete digital workflow for newspapers including full pagination. A full page imager could cost $300,000 in those days (1987). The bubble jet plus GhostScript brought the cost down to about $400. Slow but sure.

    Unlike the the commercial PostScript RIPs in printers in those days, GhostScript rejected PostScript that wasn’t valid. (Accepting “good enough” PostScript made every installation device dependent.) Using GhostScript as a verification tool, we developed patches to be automatically applied to the erroneous PostScript output that various ad building, classified advertising and editorial applications produced.

    Over these many years we continue to charge newspapers $500 and pay it to Peter’s IP company, Artiflex Software, Inc., whenever we install GhostScript with one of our systems. (I signed such a check today, 4/17/15.) We call the fee a commercial license for a PostScript previewer.

    William Bader of my staff continues to contribute fixes and enhancements to GhostScript just as he has done for Scribus and about a dozen other open source projects. I pay him well for this and have never regretted it.

    Speaking of William and Postscript, here is a link to a story on our company website about some incredible debugging and customer service he provided that depended on being able to read Postscript and also to read Estonian.

    [http://www.newspapersystems.com/Going-ends-earth-well-Estonia-support-our-customers]

    Richard Cichelli

Post a Comment

Your email is never published nor shared. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*
*

  • What we do

    Understanding Fonts is a type design training business. If you'd like an event in your college or city, let Dave know: dave@understandingfonts.com