Amazon’s Announcement About Corretto and Java’s Future

Ever since Oracle got their hands on Java (by way of acquiring Sun Microsystems), it has worked hard on making money of it. As far as I can tell, it has been as unsuccessful at this as the prior owner, Sun. Compared to Sun, Oracle upped the ante by way of suing Google over Dalvik, making it harder to get JDK certification, etc. The main lever Oracle has is the ownership of the Java trademark.

Like many I assumed that Java is dying a slow death now, eventually to be replaced by the next successful initiative. Scala, Go, and others are attempts at that, though (not yet) successful ones.

Continue reading “Amazon’s Announcement About Corretto and Java’s Future”

Cargo Cult Startup Incubators

The continued creation of me-too startup incubators reminds me of the (South Seas’) cargo cult. Richard Feynman tells the story this way: The cargo cult people were natives of the South Seas who, during the world war, benefited from Western civilizations bringing cargo to their land. After the war ended, and the cargo stopped coming, the natives built wooden artifacts that looked like planes in an attempt to bring back the good old days of free supplies. Obviously, it didn’t work.

Continue reading “Cargo Cult Startup Incubators”

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.

Continue reading “Internal Component Marketplaces vs. Transfer Pricing of Inner Source”

On The State of Using vs. Contributing to Open Source

Digital Ocean just published a survey of developers that indicates how companies are getting more comfortable with using open source, but remain much less comfortable with contributing to open source. Matt Asay and Chris Aniszczyk picked up on this, suggesting that open source will become more sustainable if we get those contribution numbers up. What is it that is keeping companies from letting their developers contribute?

Here is a representative experience from some recent consulting activity of mine. I asked:

So what about your open source policy?

The first manager answered:

Uh, I don’t think we have one.

The second manager:

Not true, our policy is not to do it.

The third one, somewhat puzzled:

Uhm, what about this Eclipse plug-in we are developing?

Continue reading “On The State of Using vs. Contributing to Open Source”

Data Structures vs. Functions in the Age of Microservices

The old wisdom of “data structures over functions” has stood the test of time for probably 50 years now. It states that long-term, a system is better built on sound data structures than functions. While functions may hide clumsy data structures for a while, when faced with evolution and new user needs, poor data structures will come back to haunt you and will eventually bring down the system.

Continue reading “Data Structures vs. Functions in the Age of Microservices”

Open Source License Compliance in Free Mobile Apps

Open source license compliance is not for the faint of heart. Among many things, a company needs to tell the recipients of a distribution which open source software is used in their products. In the case of mobile apps, free or not, the user is the recipient and the app is the distribution. Downloading an app from the app store makes me a user. Lets see what we can learn about open source using an example app.

The following four screenshots show how I made my way from finding an app through installing and starting it. I could not find any information about the distributed open source code along the way.

Continue reading “Open Source License Compliance in Free Mobile Apps”

Some Argue That Dual-Licensing in Commercial Open Source Indicates a Lack of Ability to Provide Superior Service

This is obviously wrong. The use of dual licensing and the ability to provide superior service for open source are unrelated forms of competitive advantage, and without further circumstances, a business should exploit both advantages. Let me explain.

Dual (or multiple) licensing is a strategy, in which a company develops software, releases it under an aggressively reciprocal (“viral”) license like the AGPLv3 and then offers commercial customers who don’t like the open source license the option to acquire a proprietary license for the software. This is a positional advantage of the vendor, because it is the only company that can apply this strategy (courtesy of being the copyright holder). While I mix things up a bit, it is closely related to what’s been called the open core model or single vendor open source. To maintain this positional advantage, vendors need to follow the commercial open source intellectual property rights imperative.

Continue reading “Some Argue That Dual-Licensing in Commercial Open Source Indicates a Lack of Ability to Provide Superior Service”