Some additional thoughts on Bitbucket’s Pipelines, a new interface for Jenkins, and the happy result of the Oracle v Google lawsuit.
Bitbucket Pipelines
As I’ve already written an article with my first impressions, I’ll keep it brief here. Introducing their Pipelines is a big move from Bitbucket, and I’ve gone over most of what it does already. The one thing I forgot to mention, and which is a great feature, is how it allows you to see inside Pull Requests whether something succeeded or not. This is of course also possible in GitHub using 3rd party services, but it’s nice to see it built-in.
I can imagine a use case where you might not use Pipelines for your complete CI needs, but still have some quick and basic checks (unit tests, lint checks, etc) that run within Bitbucket. Of course, this depends on how Pipelines will actually turn out, so let’s see how that goes in the future.
One other thing I should note, while I and others have compared this favorably to GitHub, there is another smaller player around that already has this capability built in. Gitlab offers a complete CI tool with their repository hosting (either SaaS or self-hosted) and Pipelines looks a lot like what is available there. So, if you’re looking for an example of how it might work, you can look there.
Jenkins Blue Ocean
While I’m talking about CI tools, a new interface for Jenkins was shown off last week. While Blue Ocean is still in early stages, it’s great to see that they’re working on this. The Jenkins interface has become a bit old and stale, especially with the introduction of its pipelines, and this looks like a great improvement.
Oracle vs Google
A 2 week trial has ended with the result most developers were hoping for. In 2010 Oracle sued Google for copyright infringement by reimplementing the Java APIs for use in Android. The original case was won by Google, under the assumption that APIs couldn’t be copyrighted. Unfortunately this was later overturned but at least the fair use case used this time around was granted unanimously.
So, why is this important1? APIs are reimplemented all the time, it’s already bad enough that a copyright can be granted on them as it exposes developers to lawsuits, but at least this way you can expect there to be some chance of not losing those lawsuits. Assuming you have deep enough pockets. But what if Oracle had won, and others had followed?
A couple of examples of reimplemented APIs are Mono, although with Microsoft taking that over it’s pretty safe from being sued by Microsoft2, but also Amazon’s and others' reimplementation of Google’s Android APIs. You can probably think of others as well, and especially considering the Java APIs in question3 were any other verdict might have spelled trouble.