Seems like point #2: branding (closely related to #3: hiring, which is based on open-source branding, because really, who else cares about a company’s open source project other than devs?) is the most important, if not pretty much the only reason large companies open-source projects.
Companies can boost their development velocity by open sourcing some of their projects.
I don’t buy that this (from #1) is at all reasonable, since the care and feeding of an open-source project is non-trivial, and until you get to scale, I’d wager you’re putting in more effort than you’re taking out. I think it’s extremely rare for any open source project to benefit the company in this way. (Not that companies may not be thinking this, but it’s fairly unrealistic.)
I’m not sure #4 is all that relevant either, at least in my experience, getting people up to speed on the tools/libraries/frameworks is not the hard part: it’s the culture & domain that takes the time, so any benefit from an employee already knowing some of the tools is just icing on the cake, but not really that significant.
@jitterted thanks for your comment.
Regarding that #2 is the most important point here, I think I get what you’re saying but I still think it is #3. In my opinion branding is not a goal by itself, it’s something that you do to accomplish another goals (sales, hiring, etc) - that’s why I think hiring is the most important thing here, but I agree that those points are very close.
I totally agree with you regarding #1, I wrote pretty the same thing in the article.
point #4 is something that I heard about firsthand from someone in a big company with a successful open-source project. For small libraries you are completely right, but when we’re talking about frameworks or anything that require weeks/months/years to master, it’s starting to be really effective. It is not the main goal of open sourcing a project, but it is a nice addition.
Those are great comments, thanks for raising them!