Sounds like he was too focused in one area of his project, and needed to take a step back to get a broader view of the state of things. I'm not convinced the closed/open source nature of his code is responsible for that.
Sounds like he was too focused in one area of his project, and needed to take a step back to get a broader view of the state of things. I'm not convinced the closed/open source nature of his code is responsible for that.
From the post:
> In the past, when it came to running a business as a solo-founder, having it open source created too much maintenance burden for very specific feature requests. In particular from non-paying users, who sometimes sent me emails directly, demanding I look at their issue, or help them fix things “as soon as possible”.
This lack of interaction is both a feature (lets you focus, you have time to take care of paying users) and a bug (less interaction means you could build the wrong thing, the source is no longer a marketing mechanism for you).
> It sounds like having the code open sourced took too much of his time away since it allowed people to make requests for things. But I don't see why that means he necessarily has to take time to fulfill the requests.
The existence of the interactions doesn't necessitate engaging with them. If engaging with interactions is taking too much time away, one could simply, not engage with them.
Sure, I get it, everyone needs to prioritize. But if you are ignoring interactions on your OSS project, you can expect more, oh, I'll call it 'heat'. I have seen those github issue threads, where people get frustrated because someone hasn't engaged.
So if you aren't going to engage, why open source it? Sure, there are other reasons, but the community feedback loop is a crucial part of the value of OSS for building a business.
Also, I get there's nuance and you can choose to engage when there's been a certain level of commitment from the community (a number of upvotes is what my current company uses to help prioritize efforts), but for a solo founder it can be really hard to prioritize, and the author apparently found all the requests a distraction. His choice, but I sympathize.
Companies selling non-OSS products get slammed with requests on a large scale and they have to deal with them somehow. Todoist immediately comes to mind. I mean, sure, it's possible that some users of a paid product will conclude you don't know what you're doing and take their business elsewhere, but that's kind of like boasting about fixing your broken finger by cutting off your arm.
I'd argue engagement is only a medium part of open source: plenty of projects publish code and never accept requests/issues, and are very popular. It is always nice to open source even if you don't accept PR's/review issues, because it gives me more trust.
I'm sure there are plenty of blog posts out there, but I can see the following benefits:
* marketing halo ("we do open source")
* community feedback, both bugs and features
* community contributions
* trust in the company
* trust in continuity of the product (even if the company fails, I can continue to run this product)
* cost
As I said, I'm sure there are more, I'm not experienced enough to weigh them all, and I'm guessing they vary based on the size, stage and goals of the company. That said, feedback from the community does seem pretty important to me.Apple, for example, publishes a ton of stuff over at opensource.apple.com. But the majority of it is stuff thrown over the wall, and not attached to a community that has to be actively managed.
The insistence on confusing these things for other people is perhaps one of the biggest threats to open source.
That's a great distinction as there are companies out there doing open development who may have a closed source product.
This choice isn't always as simple as it sounds. There is, strange as it is, a real reputational risk to be known as a disengaged open source maintainer.
It's a real PR risk to have a demanding open source user who personally emails you then takes to Twitter to denounce the project if you don't engage. It's also definitely a risk for a paid, proprietary project too, but for some reason it doesn't seem to happen as often.
> Sounds like he was too focused in one area of his project, and needed to take a step back to get a broader view of the state of things. I'm not convinced the closed/open source nature of his code is responsible for that.
It's not that the author was overly focused on one thing. It was just that he didn't want to pay the cost.
Again I think this is an unfair characterization of the author's point.
All that being said, I think your original point, that you can have open source without engagement and minimal PR risk, is doable on reflection, you just need to break away from the usual open source mould. So e.g. that means not using GitHub, GitLab, Sourcehut, etc. to host your code. Instead just provide a contact method that customers can use to request code on demand such as an email address or mailing address.
Minimize any other contact surface area and enforce trademark heavily so that any users re-uploading the code to other sites must change the name.
Basically make sure to hide the official open source channel away from non-paying users.
At that point it's another interesting question whether it's still worth it to the author to go open source (since you're giving up most of the stated commercial benefits of open source, especially those surrounding reputation), but it's a way of minimizing the reputational risk of non-engagement.
And of course sometimes you may judge the reputational risk to be acceptable.
> I was too focused on developing every feature, trying to give support to every single ticket, and I completely ignored the marketing aspects of it as I had no time for it.
Saying the author was overly prioritizing responding to the communications that open sourcing the code allowed to come through shouldn't be controversial. He himself is admitting to it.
My main point is that the author hasn't convinced me that blame should be placed on open sourcing the code. To me that's akin to blaming the messenger. He should instead be looking to why he felt obligated to spend the time supporting "every single ticket", when he himself knew that he was neglecting other aspects of the business side of things.
Your contention as I understand it is that this was effectively the author's choice and that he conflating two concerns. There is the choice of whether to open source code and whether to support the code. Nobody was holding a gun to his head and forcing him to support code. Hence his misprioritization is of his own doing.
The author's implied contention is that the two concerns are not independent. That while it may not have been a gun to his head, there are a variety of factors that link the two together.
I'm expanding on that contention and saying that there is valid reason, if you have code on GitHub, to feel a need to support it. It's a trade-off. You can decide the risk is small enough to ignore which is fine, but it's still there.
>This choice isn't always as simple as it sounds. There is, strange as it is, a real reputational risk to be known as a disengaged open source maintainer.
IMO there is middle ground. One can engage with a canned response stating support for non paying customers is provided on a "Best effort" basis and current high commercial demand doesn't allow the maintainer to offer as much time as she/he would like to for free...
Reasonable people will understand, perhaps some of them will even convert to paying customers. Bad PR from unreasonable people will happen regardless.
When a user opens an issue, sometimes it can be very time-consuming just to determine whether the user is encountering a legitimate edge-case bug, vs the user doing something wrong and not reporting it accurately. This type of issue can't be ignored entirely, because if it's a legit bug, then it's present in the paid SaaS product as well.
Also consider that many GitHub accounts don't mention real names or company affiliations. It can be hard to tell whether an issue submitter is some rando or a loyal paying customer. Even if you have a separate bug tracker or support system for paying customers, some of them will submit issues to the open source project by mistake.
I've seen many maintainers whinging about the demands of communities on their time. But it's all 'choose-your-level-of-involvement'. Those people clamoring for attention may be annoyed and frustrated with you, but that doesn't answer the question as to why that's a problem unless you choose for it to be.
If the maintainer is a solopreneur, whose source of income is a paid SaaS version of the open source project, then no they typically cannot ignore critical bugs.
> Those people clamoring for attention may be annoyed and frustrated with you, but that doesn't answer the question as to why that's a problem unless you choose for it to be.
Out of curiosity have you ever maintained a decently popular single-primary-maintainer open source project? How about one with a SaaS or commercial version?
Frequent frustrating interactions with users isn't exactly beneficial to one's sense of motivation, at least in my experience (which mirrors the original article quite closely).
Maintainers may have a degree of involvement necessitated by their business needs. However, the loudest people screaming for support are very rarely even the same niche as those funding a project. So ignore the whining; listen to the constructive bits if they're there. Delete messages en masse and move on with your life.
YMMV. We can agree to disagree.
I find your tone to be uncivil and I do not wish to continue this discussion with you.
Still I agree that it's probably possible to open-source without these problems and that this is not a complete compelling argument for every case. For me personally at least not open-sourcing at the beginning (like the author did) would probably be preferred as well for a solo-founded project.
I think so too. There's personality trait that I wonder if it is related to this: Agreeable vs Assertive, in the Big 5 personality traits,
(Actually I wrote a sibling reply (sibling to yours) and mentioned this, here: https://news.ycombinator.com/item?id=26433328 hmm maybe it'd been better if I had replied to you instead :- ) didn't see your reply until now though.)
I have code I could open source (e.g. some very useful Postgres extensions created for a company) but I value my time more, and I know many others that view the calculus similarly. There is value in open sourcing code but we should be honest about the associated costs and not pretend they don't exist.
Open source doesn't mean that you need to provide hours of free support to someone who couldn't even bother to write a proper issue description. For a matter of fact, you don't even need to provide free support to anyone, no matter how nice they are and no matter how well they written the issue You can help them, but you don't have to.
You also don't need to accept pull requests: if you think that the feature doesn't make sense or the code quality is terrible, or it's just not important to you, you don't need to accept pull requests.
You also don't need to bend over backwards to maintain a stabile API.
It makes your life easier if you communicate this in the README of the package, tell people that it's the early days of the product, you develop in the open, but you aren't going to abide by other people's unrealistic expectations about your open source work.
"Misunderstand" implies there's some authoritative definition on "open source" means here. I remember people considering Dasura "not open source" even though it was GPLv2, simply because they didn't accept patches and only threw code over the wall.
To a lot of people, open source means engaging on Github. You can say "they're wrong", but that's just disagreement.
No pesky user requests or stars.
Accepting pull requests on smaller projects seems strange. If I wrote this why do I want someone else sharing credit.
Could that depend on the personality traits of the solo founder? What if it's in some people's nature, to feel bad about rejecting make-sense feature request and bug fixes, in order to instead focus on money making things? (Even if logically it'd be the long term good thing to do.) Whilst someone else might have felt just fine, doing that?
If you know about the Big 5 personality traits, maybe this is related to where you are, in the Agreeable vs Assertive dimension.
For someone who is more Agreeable, then, keeping the SaaS closed source, might be the way to go — so there simply won't be any unsupported platform installation problems to ignore but feel bad about.