Internal Component Marketplaces vs. Transfer Pricing of Inner Source

I was recently asked why I argue against company-internal marketplaces for software components yet emphasize the need for pricing components that cross company boundaries within the same holding company (also known as transfer pricing). The answer is simple: Setting up an internal marketplace is a managerial choice and pricing the movement of code (IP) across company boundaries is a taxable event that you need to deal with: It is not a choice.

Let me take it in steps.

Setting up a company-internal marketplace for components where you pay for the use of components is supposed to both reward the development of shared components and to pay dues where dues are due. The idea is to bring market capitalism of sorts into the company and what works on a global scale surely will work within a company. As far as I can tell, it doesn’t. Reports about internal marketplaces for software components are generally negative, and in the context of inner source only hinder the establishment of thriving communities around shared software components.

Transfer pricing is the pricing of intellectual property (IP), here source code, as it moves across the boundaries of business units within the same holding company. It is called transfer pricing, because you are transferring IP. Transfer pricing is required by (tax) law. If you ignore it, you might be in hot water for tax evasion because of profit shifting (“Gewinnverschiebung”), as it happened to Apple and Amazon and their Irish subsidiaries. A company’s financial compliance department, if they are on the ball, will therefore make sure that you properly account for moving IP across company boundaries.

That said, transfer pricing is a difficult topic to tackle. If you are shipping physical components to other parts of a holding company, the OECD has some reasonable suggestions. If you are shipping software components not so much, and you might be facing an auditor who will try to compare it with pork bellies. If you are trying to account for shipping individual commits, as in inner source, all bets or off.

The only sliver of hope I’m aware of: We are working on it 😉

Leave a Reply