Open source programming and socialism


#1

I came across this image recently and it got me thinking. To what extent does open source programming represent fundamentally new relations of production? Especially relevant in consideration of our new code of conduct https://github.com/JuliaLang/julia/blob/master/.github/CODE_OF_CONDUCT.md


#2

Google “open source”/“free software” and “socialism”/“communism” and you’ll find innumerable screeds on this subject, often accompanied by now-amusing predictions of doom from decades past. A book (readable online) with a more thoughtful set of essays from relatively early days is:

http://www.oreilly.com/openbook/opensources/book/

and you can find many, many other essays. It’s probably not productive to reproduce those debates here, but if people have books or articles that they especially like on the subject of free/open-source economies it could be informative to post links.

Especially relevant in consideration of our new code of conduct

It’s not new — the one in the julia github is the same as https://julialang.org/community/standards/


#3

It’s true that everyone can contribute, on the other hand, Open Source is big business. The vast majority of contributors to the Linux kernel are doing it as part of their jobs.

With regards to Julia, not only does JuliaPro make money off of services (just like Red Hat, for example), many of the contributors are academics who use Julia for their research. In this way, the open source part of Julia is no more socialist than the structure of academia in general. In some way, it is a public good, like academic research, that society has decided is valuable enough to contribute to.


#4

Oh I didn’t realize that. Secions of the code of conduct, like

built on a foundation of reciprocity and collaboration

sound like they were lifted directly from the communist manifesto.

now-amusing predictions of doom

Does doom mean space socialism? If it does I’m on board.

not only does JuliaPro make money off of services

Interesting. Given that our labor contributes to this profit, you could argue that we deserve some say in where it goes. Could prevent fiascos like this


#5

Open source programming refers to a type of licensing used for a product. The most important aspects are: (1) free to inspect, (2) free to use, (3) free to modify. Free to inspect is that the source code is available. Free to use means that the restrictions to use the product are low (for example, non-commercial or $0). Free to modify and distribute deals with how can the product be adapted and the terms of use of derived work. Hence, open source programming is building a public good such as the Internet, the Human Geno Project, Courts, Police, Fire Department, etc. Not really about socialism, but a public goods problem which you encounter in any political economy regime (even under true communism with the abolition of private property or resource-based systems). Most public goods are public-funded, but many can be industry driven or a mix.


#6

Right I got that, but the relevant part of historical materialism here is that the relations of production will change following the forces of production. So as we move to new economic activities that require cooperation and collaboration, we will have to start to break down capitalist hierarchy.


#7

I am more of the capitalism to socialism transition following over-concentration of capital and crisis rather than historical materialism.


#8

I grew up in a “socialist” country in the 1980s, and I find the use if this kind of imagery strange. If I remember correctly, Coveralls also has visual elements reminiscent of socialist propaganda posters, and uses words like “comrade” in some messages. I realize that it may look cute from a distance, but it isn’t. Note that I am not “offended”, and I would not complain about it; I just honestly don’t understand.

As an economist, I think that open source can be a rational individual/business decision in some contexts. The key concept for understanding this is incomplete contracts (the advanced summary on occasion of Hart & Holmström’s Nobel Prize is a nice reading too).

TL;DR: Software is a very complex product which usually requires continuous maintenance, extensions, and fixes. The space of possible outcomes is very large, and third-party verification of delivery is difficult (try going to court complaining about bad coding style). These preclude the specification of a contract for every eventuality, and create a hold-up problem, which would lead to suboptimal outcomes. Having the source open is a solution, with some nice externalities (eg you may get contributions from others).

This is especially relevant if you want to build a community around your software. The hold-up problem makes it very difficult to justify investment in a tool that can just disappear overnight, or can switch to price gouging mode once it becomes successful.


#9

All wage labor is governed by incomplete and often unenforcable contracts. Thats why worker self-ownership (i.e. true socialism, not the state socialism you grew up in) is inherently more efficient than capitalism.


#10

I remember once reading how anarchy is the perfect form of government for perfect people.

Open source software sometimes seems to me to be more like anarchy than socialism or capitalism
(with all the good and bad that that entails, as there are no “perfect” people)
There doesn’t seem to be one overarching reason people contribute to open source.

Some do it because they love programming, and don’t have the opportunity to do it at all or to do interesting things in their day job.
Others do it because they work for a company whose product depends on one or more pieces of OSS
(that’s why I started to contribute to Julia, because we needed certain functionality working correctly)
Some do it as a reaction against closed (and expensive) proprietary software (or the taking over of what was “open” software by a commercial entity - which was what initially prompted Stallman back in the 80’s to come up with his manifesto).
A “capitalist” reason for contributing to open source is that people are paid not in money (although it can definitely help later on when looking for a paying job to have a nice OSS portfolio), they are paid in recognition by their peers. That’s a very strong motivating factor.

It also depends a lot on the open source projects themselves, some are run by a BDFL, such as Python or Linux, others by a small core group (with a few who pretty much have veto power) along with many other “outside” contributors, such as Julia.


#11

It took me a long time to realize that it’s ok to hate socialism and to hate capitalism. Human beings just inherently suck at allocating resources and living in a society.


#12

Mixing open source and free software kinda muddles the water. There are several possible views of open source with radically different interpretations (grossly paraphrased):

  1. Free software is cool because “information wants to be free”, i.e. inspecting, hacking and sharing tools is a human right that supersedes (2). This is a paraphrased version of the Stallman view, and adherents view free software as deeply political.
  2. Creators deserve to be reimbursed for their work and retain control over its applications (e.g. if they oppose military use, or want to make money for their shareholders, or have don’t want to cannibalize other product lines); this is a human right that supersedes (1).
  3. Open source is a highly efficient way of collaborating. In practice, the possible losses from worse incentives for creation get overshadowed by the possible wins in efficiency.
  4. Open source is a somewhat efficient way of collaborating. In practice, the possible losses from worse incentives for creation overshadow the possible wins in efficiency.

(1) and (2) are a true ideological conflict (conflict of values) that realistically cannot be resolved. Anecdotal observation on the economical and technical question (3) vs (4) suggest that whether (3) or (4) hold is pretty domain-dependent; e.g. we see a lot of open tools in the domain of software developments, and much less open source in the field of e.g. commercial video games. While (1) has no relation to historically existing socialism, it is quite clear why us naive children of the western world would label it that way, to the bewilderment of people who have grown up on the eastern side of the iron curtain.

FWIW, I am an adherent of (1) and view the free software movement as one of the most shining examples of successful political activism, especially because of the fruitful alliance with adherents of (3) and/or because (3) just tends to hold in many domains we care about.


#13

I would say that we are pretty good at living in a society. I would agree with you if you said we were not perfect.