Taking charge of your own destiny
1st November 2005
Scoble has posted 12 reasons that Web 2.0 entrepreneurs are steering clear of the Microsoft platform. It’s an interesting list (the comments are full of treats too) but for me it misses the key reason that open source development tools are so compelling: they put you in charge of your own destiny.
Allow me to elaborate.
As developers, our lives revolve around abstractions. The key activity when programming is designing and using abstractions—we weave them together to create new ones, with our target being an abstraction that lets our users achieve their goals.
The problem with abstractions is that they leak. The taller the stack of abstractions (browsers on templates on Django on mod_python on Apache on Linux on hardware on a network) the more components there are that can go wrong. When they do go wrong, we need to work out why and find a solution.
If your development stack includes closed source components, there’s a limit on how far you can dig. Run in to a bug is the underlying platform (or an undocumented feature or just something you don’t understand) and you are left at the mercy of your vendor. You only control the top part of your system.
Contrast this with open source. If some part of your stack breaks, you have a bunch of possibilities:
- Go to the project’s bug tracker and seek a solution there.
- Work out the cause of the problem and fix it yourself.
- Hire someone else to fix it for you.
Proprietary software vendors may offer paid support options, or even give you access to their bug tracker (if you pay them enough). But if they let you down there’s nowhere else to turn. With open source there’s always something else for you to try.
There are a great deal of other advantages to developing on top of open source, but to my mind the ability to completely understand and control the abstractions that form your building blocks is the most important of them all. Unfortunately for Microsoft, it’s also the one that is hardest for them to duplicate.
More recent articles
- llamafile is the new best way to run a LLM on your own computer - 29th November 2023
- Prompt injection explained, November 2023 edition - 27th November 2023
- I'm on the Newsroom Robots podcast, with thoughts on the OpenAI board - 25th November 2023
- Weeknotes: DevDay, GitHub Universe, OpenAI chaos - 22nd November 2023
- Deciphering clues in a news article to understand how it was reported - 22nd November 2023
- Exploring GPTs: ChatGPT in a trench coat? - 15th November 2023
- Financial sustainability for open source projects at GitHub Universe - 10th November 2023
- ospeak: a CLI tool for speaking text in the terminal via OpenAI - 7th November 2023
- DALL-E 3, GPT4All, PMTiles, sqlite-migrate, datasette-edit-schema - 30th October 2023
- Now add a walrus: Prompt engineering in DALL-E 3 - 26th October 2023