DEV Community


Discussion on: The point of freedom

kspeakman profile image
Kasey Speakman

I believe in the value of sharing code and solutions publicly. It can create a virtuous cycle of improvement for everyone. However I do not view it as a moral imperative. Because releasing open source software creates a sort of implicit unpaid job for someone (probably yourself) to maintain it. It simply does not make sense to me to be rewarded with a huge burden for trying to help out. Passion could be another reason to take an unpaid job, but I tend not to be passionate about specific solutions to problems -- I would happily switch to a better solution if one came along. So I try to keep the things I release simple or where they can be easily extended without source code modification. But just in case, I also used permissive licenses. I would rather companies internalize the source instead of asking me to add features. Or better yet, I'd rather them make their own open source version that they maintain.

I also think that full products are especially difficult to build as open source, at least until after the core vision for the product has been solidified. Because as humans, when we discover something new we naturally try to use it in every possible way. So you get that person who wants the CRM app you are building to also play music and do time sheets. It's human nature for people to ask. This is already a challenge just working privately with customers/users. So building in public makes it more likely for features to sneak in which dilute the core focus of the product. IMO.