We Love Writing Software So Much, We're Willing to Do It for Free
news.alvaroduran.com
news.alvaroduran.com
If you cannot bare the GitHub issue page or pull requests, either disable them or ignore them. If you cannot bare collaboration in general, host your code as a .zip folder. If you have so much other stuff going on in your life, consider keeping the code to yourself altogether. If you feel frustrated by the fact that you could have made money from your code but didn't because you open sourced it, consider creating commercial projects.
You can just use the git repository and ignore everything else. For that, GitHub is free, and being git, you are not tied to a particular service, a "git clone" is all you need to migrate, you can even use several services at the same time, or self-host, online and offline.
If your not willing to have the other person shame you for your gift then you shouldn't be giving gifts. Gifts are given because you enjoy the act of giving not how the gift is perceived by another person, if that rubs you the wrong way you shouldn't be giving, it's as simple as that.
That is antithetical to how I was raised to react to gifts; you never shame someone that gives you a gift you didn’t like unless it’s something completely egregious.
When you "give" open-source software, by placing it online, it's more analogous to placing a piece of furniture on your door-step with a sign that says "help yourself".
If you come along and take it, you've laid the expectation on yourself. Should you knock on my door and say, "I want this piece of furniture you're giving away, but I want you to deliver it and set it up in my home, since I have no means", I might decide to do so, but that's entirely out of the goodness of my heart, or I might tell you to fuck off, and that's entirely reasonable too.
If you decide to come along and use my open-source library (for example), you did your due-dil and set the expectation on yourself if it appears unsustainable and you decide to take it anyway.
I agree with you on the relative conditions of gift-giving and receiving, to an extent, but I completely disagree, with OSS being considered gift-giving.
If I put some code online, like putting something on my doorstep, it's "without warranty", it's not a gift, it's there on the off-chance it's of use to someone; only they can make that determination, if they decide they want it, but don't have the means; can't get it home, can't maintain the code, anything they request beyond that point is "charity".
I might feel charitable and take the furniture to their home, or provide some maintenance on the code, but my act of placing it there for anybody and nobody entitles them to nothing from me, they don't like it, they don't take it.
I placed no burden on them by putting it there, and that's the difference with gift-giving and this; If I gift you a £1M house, and put the deeds in your name for you, I'm placing a burden on you, you didn't ask for that as the "giftee", I've potentially caused you harm even by "gifting" that to you, I can see you having some entitlement there.
OSS is not the same, if I post it online, you take it or leave it, if you take it, you're not entitled to my help/time/effort, it wasn't a gift, you placed the burden on yourself. If an individual wants some help, I may choose to offer it, if a company wants my help with it, I may choose to, or choose not to, I owe them nothing.
Of course much of this comes down to our own opinions on what putting our OSS code online is, if you consider yours to be a gift, that's fine, I don't (consider mine to be), we can agree to disagree.
I agree with your proposition that it is not considered gift-giving. How-ever that also doesn't excuse the author from explicitly stating it in the terms in the code of the said works that they publish online, how-ever most common-wealth countries do have inherent statutory copyright laws rights that protect the creator of said works.
I think this certainly complicates things for a potential user, they're less likely to use it, I assume, if it's unclear what they are and aren't "allowed" to do with it. It would be nice if there could be some sort of implied "social contract" like we have in the real world, but I also understand that's more complicated with matters like IP.
Thinking about my response here, I think much of the difference with "code" vs the analogies is the IP. For some reason I'm able to chase some intellectual property rights on code that I would not with a piece of furniture I gave away on the street. What if I built that furniture with my own two hands, and could replicate it, just like I could my code?
Apologies, gone way off on a tangent there, but it's an interesting discussion.
But you're right in a practical sense in that if you're not willing to take some punches for the work you did and gave away for free, you probably shouldn't do that on the internet.
Not sure where you were raised but in the western world, shaming the gift giver is extremely rude and will definitely cost you your social reputation. The gift giver is considered to be right in being upset at being shamed
Hard disagree. If you experience no downside by publishing, publish by all means. As you've said we owe nobody support or interaction, so don't let anyone guilt you into thinking an unsupported, abandoned project is somehow worse than no project.
Please don't ever disable the Issues page.
Even if you have no intention of monitoring it, the Issues page provides a central place for the software's users to post bugs, discuss workarounds and alternatives, and coordinate forking the software if the original developer has stopped maintaining it.
If you just want a place to publish your code, you can use GitHub like any git repository, in a decentralized fashion. If you do that, you are not dependent on GitHub, it is just another clone.
But as soon as you start using the features of GitHub that are not git, you become dependent on the platform. AFAIK, you can't easily push and pull bug reports and discussions. If you want to start a community elsewhere, like a competing platform, or maybe a traditional mailing list, and there is already something happening on GitHub, you are creating a split.
You may also not trust GitHub and want to be able to leave at any time. Again, no problem with git, it is just a matter of changing your remote, but everything that is not in the git repository may be lost.
If you run into trouble with your gift, and you need it fixed by a particular deadline, either fix it or pay someone to fix it. If you find documentation lacking, write it. If you don't like the release process, write your own. If you want support for hardware I don't have, either find someone who has it or give me the hardware.
To date, I've seen two product managers from remarkably large companies ask for status updates on a feature because they have other internal features that need it. You don't get to ask for status updates on gifts. You want something tracked on a neat timeline? Great, put it on your team's Jira and get it done.
I used to do gists, but over time I’ve noticed those don’t get indexed nearly as well in Google & co. Plus there’s something nice about the old school blog feeling.
All this to say there’s sometimes middle grounds on how to release code that you want out there.
> But, like most people, I’m not persuaded by those who release something into the world for free, and basically guilt trip people for it.
Who guilt trips their users into donating to them?
> To bring food to the table; that’s all you have to do. The key mistake is to confuse the sustainability of your hobby with your own. Free labor is inhumane, yes. But in the case of open source software, it is self-inflicted. > Do it at least to make your job easier. Let the FAANGs pretend they do it selflessly.
Do you perhaps not love writing software as much as the title suggests?
Is it inhumane for a cook to prepare a meal in his free time? Is it inhumane for a mechanic to change a friends oil? What's free labor about open source hobby projects?
Many projects do [0][1][2]. This isn't even new, last time I downloaded ubuntu from canonical's website (before I used docker in anger), canonical had a "set this slider to 0 to download for free".
[0] https://github.com/devlooped/moq/issues/1384 [1] https://devrant.com/rants/2535698/asking-for-donations-via-t... [2] https://snyk.io/blog/open-source-npm-packages-colors-faker/
Utter horse pucky.
If there's a common misconception around corporate open source, it's the belief that it will reduce the maintenance burden by sharing it with volunteer contributors, or (for major projects at least) that releasing open source code will lead them to be in control of a standard, rather than (if they are lucky) having influence over one.
But individual contributors have such differing motivations, I have no idea what the evidence base for that first line is.
And it continues in that vein. So much [citation needed].
I don't dispute any of this -- it's really obviously a problem, particularly for certain "tent pole" projects where contributors have been horribly unrewarded.
I just don't think you can get from there to the first sentence of that article, because the reality of those unrewarded developers is that most will carry on until they starve rather than feel they have "the right" to money.
Title of the blog: Money in Transit
> and can't understand why anyone else sees it differently.
I didn't get that impression at all. My take is that he's simply providing a view of OSS through the lens of financial transactions.
Which totally misses the point, since open source works as a gift economy [0]
Some give, others take.
I guess that's how things work in gift economies in real life, too.
I think both ideas exist in copyleft licenses, but were lost in the more permissive MIT-style licenses. Sometimes I wonder if maintainers feel burned because they use more permissive licenses, which might be standard in their ecosystem, but unconsciously have a different gift culture.
Worst part:
> We donate to charities to feel good and elevate our status. We give freebies to our prospects to put them at ease so that they reciprocate with a purchase. We apply for internships, we put together portfolios, and agree on grueling interviews to market ourselves as potential employees.
The title is right. People love writing software a lot.
In my experience in this field, most don't love or even hate:
1. Fixing bugs, especially obscure ones.
2. Localizing.
3. Updating project dependencies.
4. Updating the project to follow the latest standards (security, internet, domain specific standards).
5. Doing especially the UI part, in a consistent way (consistent colors, spacing, workflows, the works).
6. Writing tests.
7. Setting up builds.
8. Setting up CI/CD pipelines.
9. Planning and roadmaps.
I'd argue that writing software is basically cheap. The expensive part is everything else, which means you're a professional software developer, so basically a "software accountant" that has to dot every i and cross every t, and it's what makes software provide real value.
Software, and the world in general, has far more dreamers than dredgers.
I like computers and want to do more with them than just earn money. I want to call my silly code art. I want to have fun. I want to meet cool people.
It's challenging to balance it with basic human needs for shelter and food, sometimes. Maybe the idealist in me believes that it's possible to make art while still putting food on the table?
It's the most pleasant project I've worked on so far and I've already got plenty of interesting encouragements and calls. Already worth it.
When you find yourself thinking this, you are probably wrong.
This article misses the entire point of the Open Source movement. OS maintainers owe nothing to their users and expect nothing in return. It's that simple. Nobody owes you a bug fix or a new feature that you and your company desperately need. Implement it yourself, then contribute back. That's how it's supposed to work. If you need a feature but don't want to implement it yourself, you should consider compensating a maintainer for their work. A maintainer does not owe you their time and operates on their own release or feature schedule.
> guilt trip people for it
This is a cynical misrepresentation. Most open-source developers know that monetizing their projects is nearly impossible. It’s about passion, not entitlement.
> the goal is for it to be seen by others
Visibility and career advancement can be beneficial, but they are often secondary. Many maintainers continue their work long after securing jobs, driven by their commitment to their projects and communities.
It is especially painful if (big) companies make big money with your free product.
You don't give up rights. You allow others to use, modify, share (etc.) what you did according to the terms of the license. However, you could, e.g., at any time give it to someone else under a different license. Or use it yourself without care for the license terms.
Opening line. No.
Exactly. What I'd like to see more is: "There is a bug that $COMPANY wants fixed ASAP - how about you pay me or one of your employees for _that_?"
I imagine I’d be only middling as a car salesman, but it would hopefully be enough to hack for the joy of it again on nights and weekends.