I think open source is great and it is great when people have the ability to manage an open source library/application/tool. I've only written a few small open source libraries but I have read of many people with larger libraries being overwhelmed with how much work there can be and/or pressure from the community. While the specific causes of that is its own topic for discussion, I think it can lead to similar issues that you've mentioned for closed source.
Closed source or open source, if you become reliant on a library or tool that does reach an end-of-life/support, you can become stuck quickly. While you might have the source code, you end up in the same circumstance maintaining something directly yourself that you wouldn't have otherwise intended. You are better off with the source code but you aren't out of the woods so-to-speak.
It might not be just open source software that we need but more open standards and greater interoperability between related software. This would remove friction when changing between tools etc though depending on the tool, this could be a logistical nightmare or completely impossible.
And you know what they say about standards...
Besides that though, I did want to talk about the example you had for "Failure 1: Loss of strategic control" as I feel it unfairly makes Apple look like the bad guy here. While they did remove the apps from Google and Facebook, your articles did note that both companies violated the terms of service.
Closed platforms like Apple's App Store are a different beast of issues altogether. I'm far from an Apple salesman but I figure besides the "premium" branding of Apple, they probably want to associate trust. Allowing Apple to manage it is meant to allow us to more easily accept/trust what can safely be installed without a threat.
A code base can be entirely open source but still be a closed platform from a certain point of view. Take this site for example, the entire code base is open source (which is fantastic) but technically is a closed platform. Sure I can post articles and comment but I don't run this site and if I violate the terms and conditions, I could be kicked out (same as your example with Apple/Facebook/Google). I might be able to launch an exact duplicate of the site because the code is open source but it isn't really the same. I might have a great blogging site but I won't have anyone to read my posts - the site's audience/reach is that "proprietary" feature.
Even if open source took over everything, I think closed platforms have to exist.
Some great points, James! Building on your point about loss of strategic control, when developers select true community-led open source components for their applications, they know they can at least rely on the elements of the Open Source Definition, including:
That last bullet is what distinguishes from the Apple case I reference, specifically.
I'm still not sure that last bullet really fits with that Apple example. They didn't discriminate, the rules that were originally agreed to were breached.
Taking that point to an extreme would be something like: any rules that need to be agreed to is a form of discrimination to any parties not wanting to agree to them.
I'm not saying Apple can't or hasn't at other times specifically discriminated against anyone, just that the example with Facebook and Google was the fault of Facebook and Google.
For example, I would say Apple is discriminating if they specifically didn't want Facebook or Google on their platforms at all even if they didn't violate the terms of service. At that point, it is abusing market power to avoid competition.
Regardless of how I see this situation with Apple/Facebook/Google, this situation is also not unique to that and its "closedness". The same situation could be seen with Mozilla with add-ons for Firefox (they control the main distribution process) yet Mozilla is both an affiliate of OSI and pushes open source heavily. You have to agree to Mozilla's terms and conditions to submit an add-on as well as go through the review process.
"When the software your build your applications on is closed source, the vendor can end-of-life your application without consulting you. " and when it is open source the people who maintain it can lose interest and you have the same problem.
I have lost count of the number of times I have come back to an application only to discover the libraries used are no longer being updated.
Totally agree, Chris. A key challenge is to create the right incentives to encourage ongoing maintenance of open source projects of all kinds (especially libraries), and align that with the interests of the teams using those projects. We're working on that at Tidelift if you're interested in one approach.
Great article. I'll bookmark it and show it to people who still consider using closed source software for their critical mission…
Really great post!
DEV is in a different category of commercial open source, but a lot of this logic led to our choices. Open source software improves over time. Closed source software decays.
The universe is complex and there is no ultimately answer to all problems. This is also applies for Open source. You can bring 5 or 10 arguments for open source. There is also 1 Mio again it.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.