3 ms·
I am familiar with the idea (and have felt it in the past), but the best approach I have found for most places (less than 10k engineers on staff) is, "be very c
by brianm 10y ago
I am familiar with the idea (and have felt it in the past), but the best approach I have found for most places (less than 10k engineers on staff) is, "be very careful that you only invent things that are core to your needs."
The greater internet population will move faster than your internal team, and your beautiful snowflake will be supplanted with a better OSS option much more quickly than you expect if it is not a core driver of what you are doing. Your time and attention will necessarily shift to the core once the non-core is good enough. Therefore, you are almost always better off contributing to something external for non-core software rather than reinventing internally.
So, if it is core to what you do then build it yourself and maintain (possibly shared) control of it. If it is core to what you do but is not differentiating, open source it and drive to create a real community around it (so that it is the thing that keeps getting better, and you already use it!) If it is core and differentiating, then you are talking product strategy and there is no pat answer :-)
(edit, minor grammar fix)