Open-source
I am not sure what to make of open-source software anymore.
I am not referring to free and open-source software nor open-source with a commercial license. There is also open-source, like NetNewsWire and Homebrew which are free and developed in the open. I am not talking about those either.
I am referring to open-source software addressed to developers. Open-source software where a developer is the end user of code. Code that is available to bring in as a dependency to software you write.
I am a user of open-source code. Having said that, adding a dependency to a 3rd party is the exception, not the rule. I believe in writing the code or at the very least, owning it. Own it as in, know how it works, understand it, maintain it as and when required.
As a potential creator of open-source code, I stop and think now. Am I sharing code that will act as a dependency? What are my responsibilities as the original author? How do I manage its development? What purpose does it serve? What risks does it pose? Why does it need to be open source?
Is it merely for educational purposes? I prefer knowledge sharing as opposed to code sharing and I would rather share that knowledge through deliberation, writing and code examples that get to the crux of the matter.
That is not to say that code sharing can’t act as knowledge sharing. I have most certainly expanded my knowledge and understanding by reading open-source code.
So, what value does open-source code really bring? Is it about writing it once, used by many? Providing a reference implementation? Time saving? Setting a quality bar, an example? Addressing social inequalities by giving equal access to code?
I have been thinking of releasing the source code of Windmill. That is, the code for the macOS app, the iOS app and the backend code written in Java.
The Java implementation could be a useful reference for anyone building a Java EE 8.0 application.
The macOS and iOS implementations are both “real world” apps that might prove useful as learning material.
The alternative would be for the source code to forever stay in my MacBook Pro as a relic. Still, I am not sure.