Some projects are open-sourced to provide inspiration.
Open by Default
Recently I heard a talk where the speaker encouraged us to, when we make something, ask ourselves “could this be open source?”. It was a good talk, and it’s a good question.
I think we can ask a better question: Why shouldn’t this be open source?
If we adopt a default position of developing in the open, we can approach it from this perspective.
We have an idea, we make a public repo, and we start making commits. It’s open from the beginning. We don’t have to find justification in the early stages.
If there’s ever a compelling reason to close the source, and there may legitimately be, we can close off the repo and make the sensitive commits thereafter.
Desire to be Definitive
Sometimes we feel like there has to be some definitive reason to open source something. It has to be the best implementation, the single solution, our magnum opus.
Consumers sometimes ask for the same thing. I hear this often regarding npm. Why are there so many packages that do the same thing? There’s a ton of useless stuff here. Of course I don’t need a package for small task X.
Our desire to provide the best solution and others’ desire to benefit from a clearly-best solution is not unfounded. But how do we get there?
The best solution usually isn’t the first. It usually doesn’t stand alone. Don’t be afraid to join the fray and work toward good solutions.
Something that’s simple to you might not be simple to otherse. Composition of small, useful things we don’t have to think about can add up to something that’s really quite compelling.
Why Not Just Inspiration
From some perspectives it might not even make much sense to open source some code. For instance, I’m working on a project that’s very specific to our company. It’s a design system that has our brand identity wrapped up in it. So why would anyone want to use it? How could they?
We have found a lot of inspiration from seeing others’ work on their design systems. We have been better for what we’ve observed and learned. We want to provide a little of that back to someone similar to us.
It is inspiring to see what others have built. We can share lessons, ideas, and motivation. These are all less concrete contributions than code but still valuable to share.
Not much inspiration happens if there’s no visibility into inspiring things.
What are reasons that you open source projects beyond code sharing?