3 ms·
There are a surprising number of cases where it is extremely unlikely that a library is replaceable even if the use case is popular and there is no restriction
by jandrewrogers 6y ago
There are a surprising number of cases where it is extremely unlikely that a library is replaceable even if the use case is popular and there is no restriction on making an open source replacement. The overhead cost of open sourcing software can be high, which must be offset by a realistic expectation that value will be created by open sourcing it. There are two common cases not considered here of which I've seen several examples of libraries in my world.
First, replacing the library requires extremely high/rare expertise and several man-years of development to implement a basic version. These never get replaced in open source because the level of individual investment is extraordinary; these libraries only get built when a company invests a few million dollars hiring one of the handful of people that know how to write one over years, which is rare and at which point they want to own it. The barrier to open source MVP is simply too high. Even worse, in some cases the licensed version becomes unavailable/unsupported because the person that designed it moves on but at least there is an incentive to spend a lot of money to remedy that.
Second, replacing the library requires computer science that has no description in literature. I've seen teams of CS PhDs spend years trying to clean room equivalent libraries with little success when there are few hints in existing computer science literature how the original library capability was even achieved. They might be able to buy a license to the original library but many times that is cost prohibitive (millions of dollars) or not available at all (licensing restrictions).
Not every application has a library dependency with these properties but it isn't that rare either. These libraries are used for good reason and sometimes provide central functionality without which the rest of the source code is relatively low value.
- matheusmoreira 6y ago> the library requires extremely high/rare expertise and several man-years of development to implement > the library requires computer science that has no description in literature Can you mention examples of such cases?