Hacker News new | ask | show | jobs
Why do people bother with open source? (bunkum.us)
33 points by ftgregg 834 days ago
21 comments

I have a "pay it forward" sort of attitude personally. The open source world is probably the largest, most valuable commons in the world by monetary value. I can't even think of a competitor, honestly. There are plenty of communities that are very open about their skills and knowledge, but there is just no equivalent to the way I can pick up thousands or even millions of person-years of labor and just drop it into my project, and it does its thing without me having to study every subsystem individually or pay the the millions of dollars it would take to write it bespoke for me. For example, the 3D printing community shares a lot of designs but there is no design comparable to the Linux kernel, because, after all, how could a design or even quite sizable set of designs manage that?

My contributions, feeble as they may feel as a single contributor, is my way of making sure I'm not just taking from the world, but at least trying to give back. A payment of sorts. Open source may not generally demand such payment, but by Kant's imperative, if everybody takes and nobody contributes, there will soon be nothing to take from, so I really ought to try my best to contribute reasonably as well, even just in the form of reproducible bug reports, documentation updates, or a tiny improvement here and a tiny improvement there.

“People want to create [sic] things that are useful to other people.”

For me, it’s this. So many useful tools and projects helped me when I was getting started that I feel obliged to give back for life. If my abilities came from reading tutorials, books, open source code, etc then shouldn’t I give back? Must everything be for profits? My employer owns me from 9-5 but not my side projects. I can explore other areas of computing with those and share my findings with others. Whether or not you find it useful. I think the idea that if you create a successful open source project, you’re more employable is a farce. You’ll just be more busy. But it depends on the gravity of the project I guess.

From the other side, I look for open source projects from candidates to see if they know how to code. I look at the history and logs, the diffs, and changes. If they don’t have any code out there, I force them into a coding challenge. If you do have code out there, you don’t have to take the challenge. (Fair hiring practice I say)

Could not agree more, this exactly describes my motivation in publishing my own projects. I have benefited from the open-source ecosystem and I want to it to thrive into the future. My salary provides me with a comfortable life, and I doubt I could sell the kind of things I enjoy making.
As an open source creator and contributor, something about this author's post bugs me.

Maybe it is his condescending words "why do people bother...", or that we are "working for free" with the implication being that we're suckers for doing it.

I think it bugs me because the author seems to disdain open source contributors. But why?

Some people just have a zero-sum mentality.

If it is your belief that the only way you can benefit is by taking something from someone else, then yeah, open source doesn't make sense.

I bother with open source for a number of reasons:

1. I want to write a cool program, but I am painfully aware that it would make a lousy business. Why not toss it up on GitHub?

2. My employer wants to write a useful program that we need, but is too low-level to fit into our commercial offerings. And by itself, the program wouldn't help anyone compete with us. So rather than splitting our sales team's focus with a product that doesn't fit into our strategy, we publish it on GitHub with a short manual.

I've absolutely gotten jobs and consulting gigs from people interested in my projects. They function as a portfolio.

And it's not like releasing projects as open source imposes any particular burden on me. I am absolutely willing to close a feature request with a note that says, "This is an excellent idea! But realistically, I will not get the time to implement in the next 5 years." And then I can finish with either "I would review a clean PR with tests," or "Even if someone sent me a PR, I would be unlikely to merge it, because it would add maintenance overhead." Once you learn to say no, it gets easier. Or if the requestor is obviously making a lot of money using my software, I could offer consulting services.

(Also, for many types of open source programs, it helps not to ship Windows binaries. This reduces support costs.)

> The types of desires that motivate open-source developers are the same as those of creative people in other fields, including fields where the norms are to charge for your work and to not license it permissively. If programmers could somehow satisfy these desires without giving away their work for free, I believe most of the open-source developers would not be open-source developers. It is a means to an end.

This seems to miss that those same creative people in other fields very commonly give away their work for free. It's basically one of the staple means to actually surviving as an artist.

Digital artists and illustrators distribute their work for free and commonly allow it to be used free of charge for non commercial purposes. The same goes for musicians.

Freely distributing your work is basically how you survive as an artist. It builds you a brand (a "style") and a community of fans who end up networking your works for you. That's the underlying strategy for getting commissions as a digital artist nowadays.

The difference with open source software is that software developers tend to use formal licenses rather than informal "ask me first but I'll probably say okay" licenses. And of the licenses that open source devs tend to use, plenty of them use copyleft licenses that fill essentially the same "okay for non commercial" condition (but instead of com vs non-com it's closed vs open source).

So I think the bigger question should be "Why don't more open source developers use copyleft licenses when possible?". That question probably highlights the bigger difference between software developers and other creatives.

I think you've hit the nail on the head there. The formal licences of FOSS came not a moment too soon - many open source developers still don't understand them or the copyright law they interact with, but use them primarily out of habit and custom. A much smaller subset in the open source community do understand them, and continue to make minor variations to keep up with changing times (such as accounting for the growing risk to FOSS from software patents).

Artists that I've spoken to (and I've spoken to many) don't tend to understand copyright either. The more naïve ones believe that copyright will protect them from plagiarism; of course it's not that simple in practice. Yet, the cultural norms among artists today go back centuries before computers existed, and before modern copyright laws too. That seems to make it much harder for 'open culture' licences like Creative Commons to get a foothold, although online sites like Flickr have certainly contributed to collecting a sizeable corpus of freely-licenced art.

If the concept of Free Software had been conceived after the widespread use of the World Wide Web rather than before it, I don't think that even the comparative openness of the Web would have been enough to make FOSS catch on.

To me, that begs the question: does FOSS actually need to exist? After all, art and music continues to survive and thrive without free licensing? But when I ponder that question, I'm glad FOSS does exist. We programmers don't, by and large, have to cope with record labels and licensing agencies taking successively larger cuts from the sale of our work, and those who program professionally tend to be compensated considerably more generously than our counterparts in the creative arts.

Most importantly: we FOSS developers are able to share our own work and take advantage of others' with complete certainty and legality. No 'grey areas' about copying when the original author or artist goes AWOL (it's actually not a grey area; it's simply prohibited). No 'non-commercial use only' causing legal headaches for non-profit and charitable ventures. No Digital Rights Management - I don't need to explain that relief here!

So all in all, I get what the blog post's author is trying to say, but I think he's just taking the joy of FOSS for granted. Programming would be a much more competitive, less friendly world if it were exclusively proprietary and commercial, and would be exploited more - not less - if it were as ad-hoc and improvised an industry as in the creative arts.

> If programmers could somehow satisfy these desires without giving away their work for free, I believe most of the open-source developers would not be open-source developers. It is a means to an end.

I don't follow this reasoning. It's not like it's illegal to sell software or whatever. You can create and sell software, libraries, services and whatnot. There must be something else about open source, not fully captured by this article.

This phenomena is surprising for me as well, as it's not observed with other fields. I gave some thought about it, but I still have no idea why is it so wide-spread with programming, but not with other areas. It must be something about zero-cost copy of the software, but I struggle to draw a connection.

His previous sentence is telling:

> The types of desires that motivate open-source developers are the same as those of creative people in other fields

Yes, that does seem to be true! However, he draws the conclusion exactly backwards: for most creative people, it is the desire to create which is paramount, but the tedious necessity of making a living leads to a lot of aesthetic compromise and time wasted on business overhead, which would all be joyfully jettisoned if there were some other way of meeting one's material needs.

If artists could satisfy that desire to create without having to worry about making money, most artists would probably not bother to charge for their work at all, because charging money introduces a whole layer of accounting and taxes and promotion and (oh my god, just kill me now) process which purely distracts from the goal of making art.

For me, the fascination and satisfaction of creating software came long before any prospect of making a living at it. For most of my career, I also wrote code in my free time, to give away, for the sheer joy of it. It is inherently satisfying to make something beautiful which liberates people from repetitive drudgery.

Running a business is tedious and time-consuming. The amount of money I could make selling the kinds of things I like to work on would be trivial, and the kind of work I would have to do in order to make enough money to justify the side-project would be... well, I already have a job! Why would I want a second, worse job on top? It's not worth the hassle. I'd rather spend my free time contributing to the global commons and feeling good about it.

There are enough rich singers. I don't really see them releasing their songs for free en-masse.
Some did, but there are often deals with labels, who are totally not artists, and you usually want to hire some people for production as well. Unless you have a whole garage band of such individuals.
> The idea that prospective employers will look at open source contributions to evaluate job applicants is now, thankfully, understood as pernicious.

Says who?

This is very much an unsubstantiated claim - no reasoning behind it and the naive assumption that everyone agrees with him.

I think this is written by someone who clearly does not participate in any Open Source software development communities.

There are many of us who feel strongly about preserving the principles of free-as-in-freedom software and the principles of Open Source software. We hold one another's feet to the fire despite some commercial preferences.

The quality level of the work is top notch. I consider myself very fortunate that I get to work with some of the best software developers in the world.

> The idea that prospective employers will look at open source contributions to evaluate job applicants is now, thankfully, understood as pernicious.

Ad populum - please back up this claim.

Just look at all the companies that do open source. Google, Microsoft, Facebook, etc... They are all very obviously for profit, if they could sell and become richer, they would, but they still put out open source, on permissive licences no less. It is just that code cannot be leveraged as a competitive advantage, on the contrary, they tend to benefit if people use code they have control over. Why do you think Google insist on people using Chrome even though it is free and 99% open source?

And for hobbyists, most of their code is not worth selling, they are just writing stuff for their own needs and they don't want to spend the effort making a commercial product. So, open source it goes. And if it becomes successful one day, it may still be worth it and you may gain contribution and fame, or maybe not, but you wouldn't have gained anything by keeping that code to yourself either.

Some do it for pure generosity, but it is, I think, a minority. Most either don't care, or it is part of a business plan. Being able to use GPL code can also be a motivation.

Randomly soliciting free help with your decent enough to be adopted project is also a potential benefit. Then there are security benefits as sometimes bugs get found. And you might get free QA of varied quality, the more specialized project, usually the better.

(Though you do get to deal with people trying to strong arm you into improvements or extra work you don't want to do.)

This reminds me of the story of one of the only times Newton was known to have laughed:

“According to Henry P. Macomber's paper "Glimpses of the Human Side of Sir Isaac Newton," the great scientist worked with secretary Humphrey Newton during one of the busier periods of his life. Per The Newton Project, William Stukeley said he only witnessed only one laugh from the genius. It came about because Isaac had loaned an acquaintance a copy of "Euclid" and later asked them their thoughts on the book. The friend responded by asking why studying such things would ever be of any help to them, "upon which," wrote William Stukeley in a letter to Richard Mead, "Sir Isaac was very merry."”

Read More: https://www.grunge.com/639460/the-only-two-times-isaac-newto...

I don't see many touching on the toxic community aspect. I don't know where the author has been lately, but while there are bastions of (more or less) healthy, functional communication here and there, high levels of toxic antisocial behavior can be found all over the place. Many video game developers are drawing back their community engagement because of toxic player responses. Spending any significant amount of time in various parts of the US will illustrate the rise of antisocial behavior; on the roads, in the stores, etc. "Content moderation" is the norm on the Internet nowadays, and that's not counting all the forums that don't allow any user-generated comments at all anymore. Courtesy seems to be something you have to pay for now (and even then, it's not guaranteed). However, the lack of it is not hardly unique to open source projects.
Lately, I’ve written several PRs to an otherwise one man show.

https://github.com/clarkmcc/ngraph

I added prebuilt binaries as part of the CI process for others like simdsim

Made a fork of transformers.js to make it work with bun (also some fixes for bun, and another on the way).

These things add up.

The big FOSS projects are wonderful, but on an individuate basis, I think it's often more gratifying for both parties to contribute to small projects.
Before open source was a thing, I used to sell my code as shareware. The compiled library was free to use, but had some limitations. The source code version cost money and was not limited. I originally wrote the code to scratch my own itch, but it turned out to be useful to others.

I made a bit of money from it, but ultimately the support ate up all my time, and it was not worth it in the end.

These days I just open source my code. I still love writing it and I get great pleasure to see others getting value from it. I earn enough in my day job that I don't want to turn the things I do for fun into another job.

But why is it not mentioned that open-source software is usually things that the developers themselves use in their life for productivity or otherwise. For example, useful browser add-ons like TST or Sidebery. God knows how many cool things (scripts, programs) people use in their personal lives (that they don't get paid for) that they could "open-source" and share with the world and synergistically build to even greater heights. I guess it takes some work to make it modular enough for the public...
Majority of projects, does not mean majority of code. Big projects have large numbers of contributors and far more code. The linux kernel is one project, a few lines of code might be one project too.

The anti-capitalist bit is not true. All the major open source licenses allow commercial use. Open source (especially copyleft) is encourages free markets because it makes it harder to erect barrier to entry or lock customers in.

I do not get why it is pernicious for employers to look at open source contributions either.

I thought all open source licenses allow commercial use, not just the major ones.

My understanding was that is the definition, at least according to OSI [0]:

> 5. No Discrimination Against Persons or Groups

[0]: https://opensource.org/osd

One reason why employers looking at open source contributions would be pernicious is that it biases them towards hiring people who have no life outside of writing code. That perpetuates a prevalent culture in the industry where people can't just write code for a living and do something else with the rest of their time.

People should be able to have other interests besides code and still have a livelihood.

Conversely, I should be able to spend some time doing something other than working for the man or building something that has to be directly monetized. Contributing to open source projects, even in minor ways, provides some way for me to build a portfolio outside of the constraints of a 9 to 5.
I'd agree with that as well. Contributing to open source on your own time should be a choice not an expectation. It shouldn't be something that people do solely for the sake of advancing their career.
Honestly it just feels pretty good to make something and put it out there, regardless of whether or not it’s popular. Creating is a very fulfilling thing, even if just for its own sake. I don’t do it for money but if I got money (for the right reasons) I wouldn’t say no.
I value how useful I am to the world far more highly than how profitable I am to my employer. The primary reason I love open source is that it maximises how useful my work can be to others.

An important secondary consideration is paying it forward.

Open source is not "anti-capitalist" nor contradictory to capitalism. Indeed, it reflects people freely choosing how they want to allocate their resources on their own terms. There are few things more capitalist than that. It does represent competition to people who would rather not compete if they can avoid it.

Similarly, I am skeptical that experienced software engineers see open source contributions as being a tacit employment application. The reality is that many of the best engineers have significant restrictions on their ability to contribute to open source and employers know this.

I think it is legitimate to point out the reality that external contributions are typically non-existent and that toxic entitlement by users is unfortunately common. In this regard, it is often a thankless and sometimes negative experience for most people. But people engage in many thankless and often unrewarding tasks outside of software because they still think it is worth doing.

"Open source.... represent[s] competition to people who would rather not compete if they can avoid it."

I love it! One for the book of quotations.

I don’t see free software as anti-capitalist. When the FSF got started they sold tapes of free software, prior to that Stallman did that himself to make money. The FSF kept doing it until it was impractical but a good way for companies to make a donation and receive something practical in return. The tapes also came with printed manuals and tshirts.
I hate the old timers who always cite GNU's cover-my-costs tape distribution, as if subsistence manifests a profit motive. The FSF hawks merch, yes, but it was never about making money so much as spreading a wrong-headed gospel.
In Stallman’s case it was “send a tape and $250” in 1983.
I wouldn't necessarily say that it isn't anti-capitalist. Free software is perfectly compatible with a free market but the ethos of free software is pretty anti capitalist.
Stallman and friends were always very clear that they love money. Even back in the 90's he was saying that selling Free software and making lots of money is one of the most ethical things you could do. That doesn't mean anyone actually could. I think you're all using the wrong mental framework to think about these things. Just because the Free software movement has used similar strategies to another famous group of historical people, doesn't mean they're the same group of people. Anti-capitalists love the Free software movement, because they can see what they're actually doing with their actions, and that it speaks to some kind of deeper value. I like to call that "moving leverage to the edge". If you do things like empower everyday people with access to knowledge and privileges they wouldn't have had otherwise, then they'll like you. It matters not what ideology you profess to have. People are simply attracted to alpha, and open source has always had lots of it.
> Stallman and friends were always very clear that they love money. Even back in the 90's he was saying that selling Free software and making lots of money is one of the most ethical things you could do.

I mean I'm a socialist and I agree. If you have the ability to sell your software you 100% should and you should reap the rewards for the labor you put in. Point being that just because someone is pro-market doesn't mean they aren't also anti-capitalist.

Tangent time. I genuinely don't understand what people generally mean when they use the phrase "anti-capitalist". I doubt most are Tankies or full-on Utopian Anarchists. I suspect a fair few mean "I want a mixed economy that's (a lot) fairer than the one we've got now" (which is probably my position).

But outside of these three positions - what do people mean?

In this case, it seems to refer to the concentration of capital in the hands of a few. Proprietary software is much less accessible outside of its allowed uses and especially outside of the hands of the people who have its source code. This allows its owners to keep most of the benefits for themselves.

There's definitely a Marxist flavor to this meaning, though I don't think you have to be a tankie to use it that way.

And most post-Marxist arguments or visions have a Marxist flavor. Which is quite expected, he was very hindsightful, and correct criticism of Marx require reading and understanding his point of view.
Not quite Marxist but sort of neo-Proudhon.

What makes anything intellectual property really?

(Unless it's literally personal property, such as a diary contents.) Renumeration is one thing, property another.

I also think it's possible to be a Marxist without being a Tankie - I'm just not clear on the specific forms that would take.
They're opposed to capitalism on some level. Though it's probably true that some are just social democrats that want heavy regulation of capitalism.

Another possible alternative is being a market socialist (wanting an economy that's basically all worker owned co-ops).

> Another possible alternative is being a market socialist

OK. I hadn't considered that option. I guess I'm interested to understand the middle ground between "centralized state ownership" and "no state but somehow it doesn't turn into hellscape of warlords and bandits".

Does this model generally allow private property but exclude "the means of production" etc?

Socialists usually try to distinguish between "personal property" (things for your own household/lifestyle) and "private property" (the means of production, or sometimes extravagant wealth in general).
In the strict definition, capitalism refers to a system that is predominantly driven by ownership of private property. Wikipedia and basically every dictionary should echo this definition.

Now the other types of property are:

- Personal property: The definitions differ somewhat. In capitalist legal systems it refers to moveable or non-real property as it is more or less subsumed by private property but in general political/economic theory it refers to your personal things not used for industry. Things like your toiletries and the things the average person keeps in their house. i.e. consumer products and the like. To a lesser extent things like cars or houses. But notably not things like equipment for machining, farming, metalworking, etc.

- Public property: Things owned communally or by the government with explicit dedication to use by the public.

- Common property or collective property: Things owned by the collective that uses them. i.e. The factory and the machines being collectively owned by the workers who work the factory.

And out of the different types of properties the question is who holds which rights. The three types of rights are usus (use), fructus (derive profit/production), and abusus (to abuse, take away, damage, or destroy). In personal and private property the owner holds all three rights and the ability to provide those rights to others (however for personal property the fructus rights are pretty limited given the nature of the items). In the other types of property generally abusus rights are held either by the state or only granted by collective decision making. And some may also limit fructus rights as well.

Types of property that permit usus and fructus are called usufructs. These are things that exist publicly or collectively that you may freely use and derive profit from as long as you don't abuse them and if you damage them you repair/replace them.

So anti-capitalists dislike private property as the dominant form of ownership and instead want to place limits on how much private property any one source of capital (i.e. a capitalist) can hold.

On the less extreme end this means strong anti-trust protections and enforcing worker ownership (often via a union and voting stocks) for orgs larger than a certain size.

On the more extreme end is eliminating private property all together and requiring that any equipment that is solely intended for it's fructus rights to be considered public, common, or collective property.

And you'll note here that the market isn't mentioned at all. Many types of anti-capitalist systems are pro-regulated market or even in many cases pro-free-market.

--

Also just a side note but at least when discussing leftist ideas, utopian actually refers to a specific type of pre-marx socialism: https://en.wikipedia.org/wiki/Utopian_socialism

Thank you. That's a stellar reply.
Selling things isn't capitalism.

Capitalism would mean investors putting in money early and getting an ownership stake and payouts later.

Not arguing on whether free software is or not anti-capitalist, but want to point out that the act of monetizing goods and services isn't incompatible with anti-capitalism.
I hate people who orthogonalize monetization and open-source. Getting customers to cough up cash has always about knowing something they don't, a leverage you give up by releasing source code.
I'd say it depends upon how you define "capitalism" because most advocates of "capitalism" define it as an economy of free and voluntary exchanges while most of its detractors define it as an economy of giant corporations that oppress their workers and buy politicians to protect themselves from competition. The staunchest advocates of "capitalism" and its staunchest critics ironically tend to share the same hatred of corporate welfare and monopoly. Both are usually all for the little guy selling goods and services.

Just like with "socialism", most discussions about "capitalism" are actually people with different definitions talking past each other. I'd say the important issue in economics is monopoly vs anti-monopoly not "capitalism" vs "socialism" and free software is definitely on the side of anti-monopoly.

Capitalism is a production system where ressources allocation is decided by capital owners. It doesn't really oppose socialism (after all, if we're all capital owners we can all decide what to produce collectively!) , it's more opposed to dirigism (it has another name but I cannot remember). Successful example of dirigism are stuff like Apollo, Airbus or the Messmer Plan, often requires high centralization, which makes it highly undesirable to people (like me).

Anyway, mixed economy all the way imho. Capitalism for small stuff, dirigism in natural monopolies.

> The political hopes that free software would help build a more free and anti-capitalist future are largely forgotten, and when remembered, seem embarrassingly specific to a certain mode of computing.

We are living in the "more free" future (it was never anti-capitalist) that free software built, and it spans most "modes of computing", dominating some. The thing that's specific to one mode of computing is having no practical alternative to an exploitative, consumer-hostile, proprietary walled garden. That's specific to mobile computing, and it's not some inevitable consequence of capitalism, only of monopoly power and weak regulation.

> The political hopes that free software would help build a more free and anti-capitalist future are largely forgotten

Speak for yourself.

Luckily for the pwned, not everyone is a corps sellout...