Alice: Hello, Alex.
Nice to see you today.
Alex: Hi Alice, good to see you too.
Actually, I admit that the location we have for today's talk is not a bar, which you actually
mentioned…
Alice: ...in the Liberica Bar name.
Well, actually we decided with our team that “bar” is some type of state of mind and
we can create a bar everywhere, just if we have some different type of alcohol, or maybe
not alcohol, drinks.
But Christmas is soon, and Christmas is a really family time.
And the biggest family, of course, for us is BellSoft.
So that's why we are here in some homey, and nice, and cozy atmosphere.
Alex: Cool.
Yeah, actually, I like that.
Alice: That's really great.
The main idea is to tell our viewers some stories and some interesting things about
Java and OpenJDK.
And I think that the best place for it is here near a Christmas tree.
So why not have Christmas stories about Java?
Let's start from it.
Let's tell our viewers about this year.
It was a little bit hard for everyone.
So, how was it for your company, for BellSoft?
Alex: 2020 for sure was not a usual year.
If we leave the pandemic things behind the scene, for BellSoft, it's actually a pretty
successful year.
Liberica JDK is getting more and more popular among developers and users.
Our user base of Liberica JDK has grown almost four times during the year.
And we also admitted the growth of popularity of Liberica JDK among big enterprises.
At the beginning of the year, for sure you know, that we announced our partnership with
VMware.
VMware decided to use Liberica JDK as a default runtime for their VMware Tanzu customers.
VMware Tanzu is a public cloud offering from VMware.
And besides that, many other enterprise customers from the financial sector, insurance, and
retail, and other areas, they decided to use BellSoft as their partner for OpenJDK, for
Liberica JDK support.
Alice: Okay.
I got it.
The number of Liberica JDK users is increasing and enterprise companies are so interested
in Liberica JDK.
But what was the main goal for this year?
What has been the most important thing for the company?
Alex: We were focused on several things.
Of course, our main direction was to continue to deliver the smallest and the most effective
runtime for microservices, on the one hand.
And on the other hand, we were focusing on three things: on quality, security, and performance.
Alice: You know, it's a little bit of a strange triangle.
It looks like we are trying to kill three birds with one stone.
Is it possible to catch everything?
Alex: Yeah, absolutely.
If you have the right vision, and your vision is based on the industry standards, everything
is possible.
Alice: What do you mean?
"Industry standards", do you mean TCK?
Alex: TCK is one part.
TCK actually is the test suite.
It's not a standard.
But TCK allows to be assured that the product we deliver is 100% standard.
Java actually, the technology was originally created based on standards.
And since the beginning, since 1998, as far as I remember, the JCP organization exists.
JCP is Java Community Process.
This organization, which is actually in charge of the evolution of Java standards, this organization
controls Java standard.
And this organization is not solely managed by Oracle.
It has members from many companies which are main Java stakeholders.
It has of course the process, how to evolve the specification, how to evolve the standard.
The key organization committee is the JSP Executive Committee, which actually drive
the standard evolution, control it.
And I'm really proud that BellSoft was elected to the JCP Executive Committee this year.
And we are committed to be a voice of our users in the JCP organization.
Alice: And actually you talk about users.
You talk about the enterprise product, but BellSoft is a development company.
What do the developers themselves need in the standard?
Because the standard is sometimes a little bit boring and can't help you to create and
to imagine something.
Alex: TCK can really help, I would say that.
If we verify the distribution with Technology Compatibility Kit and can guarantee that it's
100% standard, migration between such distributions, which are verified to be standard, is really
smooth and straightforward.
The behavior of a Java application on such a distribution will be absolutely the same,
and it's confirmed by TCK verification.
That's one thing.
And another thing, TCK actually is a huge, immense test suite.
It has like, as far as I remember, for different versions the number's different, but roughly
is 140,000 tests, which have developed since, as I said, 1998.
And sometimes it helps to identify issues within OpenJDK.
And for one of the recent releases where we actually identified the issue using Technology
Compatibility Kit in one of the supportive platforms, which one of the port for the Liberica
JDK supported platform.
Alice: In one of the recent releases, you just found
it.
Alex: Without TCK, it wouldn't be possible to identify
that.
If we didn't have that, we would deliver Liberica JDK to our customers.
They would report us some issues with the Solaris port.
And we’d have to fix that…
But this is not really a professional approach.
We would like to deliver a high-quality product, which we assured.
Alice: Yeah, I got it.
And talking about a high-quality product and some new releases.
Do you have some kind of checklist or, maybe, the criteria list of quality of Liberica JDK
when you're creating a new release?
Alex: We do have criteria for the releases actually.
It consists of five buckets.
First of all, we are contributing all test patches to the upstream of OpenJDK.
We agree within the Vulnerability Group of OpenJDK with other Vulnerability Group members
on the scope of the update release, which security patches actually will be the part
of this update release.
We test all platforms with and without security patches using our testing approach in Quality
Assurance.
And we do a final verification just before the release, a final check.
And we also check binaries, which we provisioned to our CDN, for some corruptions.
And if that happens, we replace them.
So, our end-users are guaranteed to have a 100% high quality Liberica JDK.
Alice: Okay.
Yeah, because a lot of companies don't have the possibility to do that because they are
not in the Vulnerability Group and, what is more, they are not contributors.
So, they can't even use the main tasting suite, like TCK, for example.
I really believe that it's one of the main states of quality actually.
But as far as I know, it's impossible to test it manually.
And how can you automate the process?
Alex: Yeah, absolutely.
BellSoft and Liberica JDK deliver using Continuous Integration/Continuous Delivery pipelines.
As the core component of our automation system, we use Jenkins with many plugins.
You can imagine that Liberica JDK releases for 12 different platforms, it supports three
JVMs: server, client and minimal.
It also releases in JDK and JRE forms and Liberica JDK has three different types of
distributions: Full, Standard and Lite.
In addition, we test Liberica JDK with different VM options, with thousands of different VM
options.
You need to multiply all these numbers to finally get the number of binaries we need
to test.
And at every release we have millions of test results, which, in case of any test failure,
we need to analyze them.
And only a hundred percent test failure-free analysis allows us to deliver Liberica JDK
to our customers.
Alice: Mm.
Yeah, I got it.
It's a really high-quality product.
But talking about the performance that we mentioned at the beginning of all of our talks...
As far as I know, BellSoft is working on performance, not only in Liberica JDK products, but on
the client’s side.
And clients, customers of BellSoft can access information on updates before the official
releases.
Is it actually legal?
Alex: Yeah, absolutely.
We are not disclosing anything we do within the Vulnerability Group before Oracle JDK
release, of course.
However, we can analyze the impact of features, which we're backporting to the update releases.
And we do it for our customers.
We are highlighting some impact, what happens with the upcoming update release, which helps
our customers to be prepared for the update release in advance.
Alice: It's not fixes, it's something like features
in your release…
Alex: Including fixes of course, but functional
fixes, not security fixes.
Alice: I got it.
Okay.
So I think there are lots of technical details in all this quality process.
Where can our viewers read it or see it?
Maybe, you have something on your blog?
Alex: Yeah.
BellSoft website's getting more and more popular as the resource for Java developers.
We continuously release some useful materials there.
In addition to our number of articles on the technologies, on Kotlin recently, we have
several articles on Flight Recorder and Mission Control usage.
We do have there the materials about the quality of Liberica JDK, quality control of Liberica
JDK, which we use at BellSoft.
Alice: And actually, I want to say to our viewers
that they have a possibility to ask some questions for us.
Actually, you can write them in the comments of this video.
And, of course, we will answer.
Alex: Absolutely.
We are always happy to hear any feedback or comments on our product.
Alice: A lot of people right now on our site in Contact
Us form, just to ask some information that could be necessary for their ideas, for their
processes.
Well, I think that's all.
I just want to wish you a Merry Christmas and a Happy New Year and thank you for, for
this nice family talk.
Alex: Thanks a lot.
Thanks a lot, Alice.
Bye bye.