Ask HN: Have you ever regretted open-sourcing something?

274 points by paulwilsonn ↗ HN
Open source is usually seen as a win - for learning, visibility, and the community. But have you ever regretted it?

Maybe it became a burden to maintain, attracted the wrong users, or got used in ways you didn’t expect.

Would love to hear your experience - good or bad.

108 comments

[ 3.4 ms ] story [ 113 ms ] thread
Steve Ballmer nailed it when he said GPL is a cancer. No professional programmer wants to open source anything, but once one competitor does it, he must follow suit to stay competitive.
Um not down voting you, but your argument has some flaws.

Firstly your appeal to authority , and then using Steve Ballmer as your authority is perhaps not the best way to start.

Secondly you say that "no professional programmer" - but the statement is false. For starters it's a sweeping generalization which is trivial to show is untrue for at least 1 programmer.

Thirdly the existence of Open Source alternatuve does not make a product uncompetitive. You need look no further than Windows to see that's true. Indeed if we has to list all the commercial software that exists with an Ooen Source clone, we'd be here all day. I'd also argue that Joe public doesn't even know what open source is, much less factors it into a buying decision.

If you are building tools for programmers (already a tiny niche target market) then you need a hook other than Open Source anyway, cause programmers are a terrible target market.

I say this as someone who builds tools for programmers, and who sells commercial into a space that contains Open Source alternatives. And I do ok.

Quoting Steve Ballmer doesn't mean that the person is worshipping Steve Ballmer as a god. It just means that another person expressed a similar opinion.
The marginal cost of software is zero and therefore the just price in a perfect market is zero. You can compete on delivering features quickly (and that's how all 80-00s software was - they were able to charge simply because no one was offering same features yet), but other than that there is no way software can be a profitable product without being a monopoly - and monopolies is not a thing to be tolerated. You can sell customer support, you can sell services, you cannot really sell software forever. Hate this as much as you want, but that's how things are.
>Maybe it became a burden to maintain,

This is literally why i think AI coding cant touch dev jobs.

In theory you can code LOADS of projects. Want a panel widget on your desktop environment, dont even know what language its in? ask ai to produce it.

but when you have open source projects, people from all over the world bring their requests and problems to you. Some are great to just merge, others you have no clue what they are doing wrong but it's totally them; and you get paid in github stars? Now there's a bunch of open source projects that are just working for me every day, but i havent modified in years and they look stagnant.

but even in the non-open source realm, no dev wants to forever maintain a project. Its not a regret, just 1 dev can probably only be responsible for a handful of codebases/projects and ai coding isnt going to super expand this.

Isn’t this the thing AI is going to claim to solve? A project exists, a user writes a feature request, the AI codes up the changes, pushes a new release, and everyone is happy. That’s the sales pitch.

The big issue with this, even if it works perfectly every time, is that there is no one at the core of the project with some vision and taste, who is willing to say “no” to bad ideas or things outside the scope of the project. We’d end up seeing a lot of bloat over time. I’m sure AI will claim to solve that too, just have it code up a new lightweight project. The project sprawl will be endless.

> there is no one at the core of the project with some vision and taste, who is willing to say “no” to bad ideas or things outside the scope of the project.

That can literally be a system prompt.

"Here are the core principles of this project [...]. Here is some literature (updated monthly?). Project aims to help in x area, but not sprawl in other areas. Address every issue/PR based on a careful read of the core principles. Blah blah. Use top5 most active users on github as a voting group if score is close to threshold or you can't make an objective judgement based on what you conclude. Blah blah."

Current models are really close to being able to do this, if not fully capable already. Sure, exceptions will happen, but this seems reasonable, no?

> The big issue with this, even if it works perfectly every time, is that there is no one at the core of the project with some vision and taste, who is willing to say “no” to bad ideas or things outside the scope of the project.

Why would any user ever care about the scope of the project or how you feel about their ideas? If they want your open source software to also play MP3s and read their email they'll just ask an AI to take your code and add the features they want. It doesn't impact anyone else using your software. What you'll probably have though are a bunch of copies of your code with various changes made (some of them might even have already been available as options, but people would rather ask AI to rewrite your software than read your docs) some listed as forks and others not mentioning you or the name of your software at all.

Most people aren't going to bother sharing the changes they made to your code with anyone but eventually you'll have people reporting bugs for weird versions of the software AI screwed up.

Why in the world would you arrange things in that way?

1. A project exists

2. A user forks the project

3. A user writes a feature request

4. The AI codes up the changes and puts it into the fork

5. The original project is left untouched

Never done open source but always wanted to. Developers of open source could always ask for a fee to add features, and easy prs are easy prs. But for those more complicated things that don't interest the main owners, could they offer a PR service where if you pay the developers or the project a fee, they'll take the time to review the PR and tell you what to do for it to be accepted, or keep a 5$ review fee and return the rest if it's just not a feature that jives with the project's overarching goals. I don't see why that cannot be a piece of the market. It would still be open source but it would add incentive to say a project is worth doing.

Albeit I'm sure that most would likely not be willing to pay to have their code reviewed and accepted in a project; but on another hand, if I wanted to contribute to GNUCash and I didn't want to read the manual, or I found the manual hard to understand, it would be like paying for training. So it can in certain cases be win-win.

And if it is a feature that is wanted, then there's no worry about it being reviewed. Or having to pay because the value will be obvious to the creators who will take it on.

In other words: Pay the developer/maintainer to care about the feature you want.

Has this ever been attempted and successful?

Phabricator had its task tracker open to everyone, but the company behind it would charge for prioritization of tasks being tackled. If you want your bug fixed or feature implemented before whatever else is on the maintainer's inherent priority list, pay up. IIRC, they also did all development in-house without accepting merge requests from the outside, but I may misremember.

It's unclear how successful they were with this. Phabricator lasted for about a decade before announcing the end of its development, not all of which was as a stand-alone company. The announcement didn't say why they stopped.

no dev wants to forever maintain a project

unless i keep using it myself.

i was asked for a third party lib exemption licence, i asked for a sweetener...no, they couldn't even answer me after that
I regret open sourcing my reverse engineering of Obsidian Sync. I did it mostly for personal use but thought it might be useful for others. After a bit of cat and mouse, they fixed all the "vulnerabilities" that let you change the sync and publish endpoints and now I'm still stuck using a very outdated version. I recently found another way to get it working on IOS again but definitely not publishing it.
I always just stick my Obsidian vault in iCloud and called it a day. No additional sync service required.
This works very well, been doing it for years. Even works flawlessly for me on Windows using the iCloud client.
This worked for me until iCloud started cache clearing all my files aggressively so my vault would take ten minutes to open on iPhone. Every few days.

When I tried to copy my vault off iCloud, the copy failed and two years of notes were permanently lost.

I’m never putting anything of value in iCloud again.

Can this work with a windows or nix system in the mix?
This gets complicated when you want your vault accessible across linux/windows/android/macos/ipad.

The ipad is the real stick in the mud and I don't want to deal with an icloud staging zone for everything else, or try to get icloud syncing on linux/android.

(comment deleted)
Why not create your own plugin? Or use Syncthing, Git, LiveSync, Remotely Save, etc...
This sucks.

As a free software enthusiast, this screams "don't invest time in closed ecosystems".

I've open sourced a few things in the past that I wish I could have kept closed source for monetization purposes. Probably a failure of some imagination on my part, but also, it's really hard to make and sell good desktop software if a user can make their own for free by typing `make`.
Only if your target audience is nerds. Actually a bunch of software is like this and still somehow manages to make money. It's more complicated than typing "make", I promise - I typed "make" three times in this comment and your software didn't materialize.
I tried to open source a weekend personal project while at $BIGCO via their "Invention Assignment Review Committee". It turned into a minor bureaucratic nightmare and I was ultimately never given the OK to release it, or any clarity over whether my employer was choosing to assert an IP ownership interest in it. In retrospect, I wish I had never notified them of its existence, and released it under a pseudonym instead.
I wrote a small app to display a bitrate graph of video files, and posted the code on GitHub with the GPL2 license. A few weeks later someone uploaded it to the Mac App Store and sold it for 7$, the only difference was the name.
Not the OP, but I have a similar dilemma. I'm currently sitting on a SOTA ML model for a particular niche. I'm trying to figure whether I should try selling it to the incumbents (in some shape or form), or if I should publish a paper on the techniques, and/or if I should OSS it.
I regret it only from the perspective that it opens you up to noise from smarmy, entitled, often wildly under-qualified developers trying to "get you" for not knowing something or not having some feature they claim is table stakes.

And if it's not that, it's someone (who very well may be qualified) being unnecessarily passive aggressive trying to make a failure of your own seem like a show stopping nightmare that they'd never let happen.

What I really don't like is that sharing anecdotes like the above often invites equally annoying "tHaT's NoT mY eXpErIeNcE" type comments which leads to a sort of "who cares, just do the best you can and ignore everybody" mindset (which can be helpful at times, damaging at others).

Aside from all of that nonsense, it's great because you have other sets of eyes looking around that may see something you didn't. This is incredibly valuable if you're a soloist or small team working on a big project.

Got death threats because I wasn't prioritizing stuff people were requesting, said nah I'm done
I literally had someone tell me that I’m a coward and a psychopath because I didn’t prioritize solving their problem: https://github.com/devnoname120/vhbb/issues/75#issuecomment-...

I don’t regret open-sourcing this project but god as your project becomes popular bad apples start joining and ruining the party for everyone. Fortunately it’s only a tiny minority, but it’s what stays the most on your mind.

About 10 years ago I was on a contract sabbatical from the usual job and the customer at the time open sourced part of the product with the wrong license, a competitor forked it and made a superior product, undercut them and took all of their customers. They had enough capital to buy the competitor but it was an extremely expensive mistake. I'm not sure they ever broke even.

This was one of those niche industry specific things that no one would give a crap about if it was open sourced other than the competitor in the market.

Principal architect was tossed on the street for that one.

I did "open source" my static site generator. No forks, no stars, no PRs. I removed it from github since the only one who's taking advantage of it is probably Microsoft.
Yup.

Long long (2016 ish) ago I released an Unreal Engine 4 plugin that let people embed chromium embedded framework views into the engine via textures, so you could make fancy HUDs or whatever.

Epic Games was kind enough to give me a developer grant for open sourcing and making it, cool as hell for a college student at the time, helped pay my classes.

The number of angry game devs who basically wanted me to solve all their problems for them for free was astounding, additionally another dev grant receiver was jealous that I got money close to their grant for “just making a crappy plugin”

(paraphrasing but that was essentially what happened)

No one is ever thankful lol.

Never regretted. But my "things" are far from earth shattering and most have now have better alternatives.

Only one item became a bit popular, but was written for MS-DOS ages ago and I hear it is still used by 1 person :)

I regret open sourcing an offline patch I made for an Unreal Engine 3 game. The game was unplayable due to an always online backend that got shut down, but was still being sold so I required everyone buy a license to play with my mod. I had to reimplement stock UE3 netcode, and a bunch of other really cool stuff. Someone who was mad at me for not giving them more help when they struggled to develop on my software decided to "repack" my software and the game on a popular piracy site, both violating my AGPL license and increasing the risk that the whole project gets CnDd. I guess it's funny that a project violating a companies "no reverse engineering" clause is pissed that someone violated their OSS license, but such is life :D
I wrote a network security tool (if you can call a glorified shell script that) and it was used by script kiddies to harass people.

It made me feel maybe magicians had something, when they decided some knowledge should be esoteric and earned, given that it was so trivial I never listed it on my CV.

I think infosec, as a field, sometimes darts between too much obscurity and too much openness.

The purpose of Stallman’s open source movement was to redistribute power back into the hands of creators who were getting walled out of anything but proprietary work for an employer. If they were fired, they had nothing to show for years of work except a reference, since their deep expertise was essentially meaningless. (An experience I’m sure almost everyone here is familiar with, since we’ve all spent some years on proprietary systems).

Now, with LLMs, exposing your source code essentially hands over a large chunk of your hard won expertise for free to whoever wants to use it. That old model of 100% open source is broken, to my mind.

The new approach I think should be open source stubs with demos of what is capable with your additional proprietary piece.

I open source pretty much everything I work on that is close to finished or finished. Never regretted doing it, but never got anything out of doing it either, aside from the feeling of paying forward.

I guess it really depends on how popular your project gets. I have no idea if my stuff is used or not[1], so regretting is maybe kinda hard?

I’ll keep doing it, though. Might regret it at some point, but I get so much value out of open source, it feels wrong not to.

[1]: Judging by the lack of patches I’d guess my work isn’t used, though.

To some extent, yes.

Most notably, I published a little browser extension I created to scratch a personal itch. It got a little bit of attention and users, and then the feature requests started coming. Among a couple reasonable ideas were big demands like make it work on different platforms, make it integrate with other sites, or make it work entirely differently. And unhelpful bug reports that often didn't even make sense.

Not one of them ever contributed to the repo, and many of them were ungracious and demanding in nature. Fortunately nothing outright hostile, but it still left a sour taste in my mouth for daring to share a neat personal project as-is.

If we lived in a perfect world, how much in funds would you want for your contribution to open source? (a companies or 3rd party players)
When I was ~14 I open sourced a script to autoconfigure X11's xrandr. It was pretty lousy, had several bugs. I mentioned it on a KDE mailing list and a KDE core contributor told me it was embarrassing code and to kill myself. I took it pretty hard and didn't contribute to KDE or X11 ever again, probably took me about a year to build up the desire to code again.

Everything else I've open-sourced has gone pretty well, comparatively.

I don't know -- maybe.

I've released several tools, and for most of them, I've heard nothing from anyone.

But 3 got somewhat popular in their niche and most of the inquiries and requests were from people who seemed to think they were entitled to free support and feature requests. Many times, they got pretty rude if I refused to implement their feature or I took too long to release a fix.

It really turned me off from releasing open source code and then interacting with users. I'd rather just release the code, and forget about it, only patching on my own terms.

I am the maintainer of a library to simulate keyboard and mouse input. I didn't start the project but took over the maintenance and have since rewritten pretty much all of the code. I recently found out that Anthropic is shipping it in Claude Desktop for some unreleased feature which is probably like "Computer Use". I noticed they had an open position in exactly the team responsible for the implementation and applied. A few months later I received a rejection. The letter said that the team doesn't have the time to review any more candidates. The code is under MIT so everything is perfectly fine. It is great that a company like Anthropic is using my code, but it would have been nice to benefit from it. I wrote a slightly longer blog post about the topic here:

https://grell.dev/blog/ai_rejection

> Through a friend of a friend, I found out that Anthropic had an open position in the team implementing the secret, unreleased feature of Claude Desktop using enigo. I wrote a cover letter and sent out my application. An automatic reply informed me that they might take some time to respond and that they only notify applicants if they made it to the next round. After a few weeks without an answer, I had assumed they chose other applicants.

Wait, so, if it was a friend-of-a-friend situation, why did you not try to get a referral?

I've stopped applying to the big companies long time ago precisely because I'd never hear back regardless of the match or the credentials (the only exception has been JaneStreet — they contacted me almost right away after a cold application), yet going the referral route, it's relatively easy to get an interview almost anywhere.

How curious! So am I, and that is the project that I am the closest to regretting open sourcing.

I made the mistake of also implementing keyboard and mouse monitoring---you know, so I could write automated tests for the input parts!---and over the years it has turned into an endless source of feature requests, bug reports and also general questions about the Python programming language and its ecosystem.

Input events truly are horrible to provide a platform independent abstraction over, but in the end seeing people use it, make YouTube tutorials and discuss it on Stack Overflow make it worth the time spent.