3rd Annual 'Call for Code' Tackles the Pandemic

Calling all coders! The world needs you now to save us from COVID-19! Or to put it in less panicky, running-out-of-TP, could-we-eat-the-cat-if-we-had-to terms, we could all use a dose of your smarts and skill to help with this immediate, life-or-death challenge.

Yes, I'm talking about the third annual Call for Code Global Challenge, which is something of a clarion call to software developers around the world -- from crusty engineers to baby-faced programmers and everyone in between -- to pool their talents to address some of society's biggest challenges. Climate change has been a focus of The Challenge in the past, but in March of this year, the organizers announced that they would be expanding that focus to include both climate change and COVID-19.

"We realized we can and should do more through the amazing ecosystem and infrastructure we've created through Call for Code," said Willie Tejada, chief developer advocate in IBM's developer ecosystem group, in a blog post. The change received "overwhelming support and some exciting early ideas," Tejada said. "In a single day, we received over 1,000 registrations from developers. First responders, at-risk individuals, and coders are reaching out to us to share their experiences and brainstorm solutions. Together with Creator David Clark Cause and in partnership with United Nations Human Rights and the Linux Foundation, we're asking developers, data scientists, and problem solvers to answer The Call."

Developers and non-coder problem solvers (anybody with a good idea) have until April 27 to submit their open source solutions for early deployment, the organizers said.

Dennis Bly, global offering manager for academic developers at IBM, who leads Big Blue's global university engagement for Call for Code, talked about this year's Challenge in an e-mail conversation with ADTmag.

"The initiative aims are to create open-source-powered technology solutions at scale across IBM Cloud services," Bly said, "and it's one of the largest developer challenges in the world."

In 2019, more than 180,000 participants from 165 countries created more than 5,000 applications focused on natural disaster preparedness and relief, Bly said.

"After we expanded the focus of this year's competition to include COVID-19, the response has been tremendous," he said. "In just under a month, we already have 45,000 participants from 146 countries and growing, who are actively working on solutions to help address the COVID-19 response and climate change."

The 2020 Call for Code Global Challenge invites participants to take on climate change by building applications on open source software, including Red Hat OpenShift, IBM Cloud, IBM Watson, IBM Blockchain and data from The Weather Company. The goal is to employ technology in new ways that can make an immediate and lasting humanitarian impact in communities around the world, he explained.

The organizers provide starter kits that give developers quick-start guides to create applications tied to easy-to-understand use cases in just minutes. (By the way: The intro video is hosted by Lady Gaga.)

Last year's Call for Code Global Challenge winner, Barcelona-based startup Prometeo, created an AI-based cognitive health monitoring platform -- a wearable device that measures carbon monoxide, smoke concentration, humidity and temperature to monitor firefighter safety in real-time. That dev team included three developers, but the company founded by a veteran firefighter and an emergency medical nurse, so the special expertise was there.

The company won the $200,000 grand prize, as well as the People's Choice award (in October), where thousands of voters chose Prometeo as their favorite solution.

IBM helped Prometeo to build and deploy a solution to elevate firefighter decision making in the face of natural disasters.

"Another way we've seen Call For Code make a positive difference is by connecting developers who have similar ideas but different ways of going about them," Bly said. For example, our first Call for Code winner, Project Owl, created a solution that helps create a wireless network in areas affected by natural disasters to bring connectivity to the people impacted. We were able to connect the members of that team with the winner of our Call for Code Puerto Rico hackathon, a solution called DroneAid that uses drones to check in on and provide assistance to those stranded in the wake of a disaster."

Together, the two teams have been running pilot programs in Puerto Rico throughout the past year to optimize how they work together to best serve the same communities, Bly said.

IBM also commissioned a global survey of developers, first respondents and activists to better understand their feelings around climate change with partner Morning Consult. Bly sent us the findings of the survey, which included:

  • 77 percent of first responders and developers agree with the statement, "Climate change is the single most pressing issue facing my generation." (The number is 83 percent for activists alone.)
  • 79 percent of first responders and developers agree that most people want to do something to help combat climate change, but don't know where to start. (The number is 84 percent for activists alone.)
  • 78 percent of first responders and developers agree that climate change is something that can be reduced or combated with technology. (The number is 83 percent for activists alone.)

This year's Challenge includes a dedicated university edition.

"Since the competition launched, we have learned that the most promising innovations often come from unexpected sources," Bly explained. "The scope and urgency of the issues we're facing today demand diverse perspectives and expertise, and student participation is key to that. ... One of our partners, who we are honored to work with for the second year, is the Clinton Global Initiative University. Together we have launched a dedicated University Edition within Call for Code. Last year we reached over 10,000 students as a part of our work with CGIU and this year would like to surpass that number.  

On April 22, IBM will host a kick-off event for the 2020 Call for Code Global Challenge University Edition

Posted by John K. Waters on April 9, 20200 comments

Microsoft, Facebook, Slack & Others Partner with World Health Org on Coronavirus Hackathon

Facebook, Microsoft, Twitter, Slack, Pinterest and other tech industry giants have joined forces with the World Health Organization (WHO) to organize a hackathon to promote the development of software solutions that address "challenges related to the coronavirus pandemic."

The Build for COVID19 Global Online Hackathon (#BuildforCOVID19) was announced on Tuesday and began taking project submissions today. Interested developers can register on the DevPost hackathon registry, and also a registration page created by the Hack Club. The deadline for submitting projects is Monday. The hackathon organizers will announce the top projects on April 3.

The first two weeks of a social-isolation campaign that's on the verge of locking down the population of the entire country -- not to mention the world -- might seem like an odd moment to gather the efforts of software developers for a traditionally sleep-sucking, cheek-by-jowl, code-cramming session, but the event's organizers see it as a valuable means of focusing expertise, creativity, and plain old brain power on some aspects of the world-shaking crisis through a platform that keeps everyone working from a safe distance.

"Given the isolation currently being experienced within communities right now, we want to create an online space where developers could ideate, experiment and build software solutions to help address this crisis," the companies said in a statement.

The hackathon organizers are encouraging developers to build projects focused key challenges, such as the need for accurate disease prevention information around the world in languages and formats that resonate locally, but also the regional needs for expertise, resources, supplies, and financial support from donors.

The organizers posted a list of seven themes to help spark ideas among hackathon participants, including:

  1. Health: Address and scale a range of health initiatives, including preventative/hygiene behaviors (especially for at-risk countries and populations), supporting frontline health workers, scaling telemedicine, contact tracing/containment strategies, treatment and diagnosis development.
  2. Vulnerable Populations: The set of problems facing the elderly and the immuno-compromised, such as access to meals and groceries, and supporting those who are losing jobs and income.
  3. Businesses: The set of problems that businesses are facing to stay afloat, collaborate effectively, and move parts of their business online.
  4. Community: Promoting connection to friends, family, and neighbors to combat social isolation and the digitizing of public services for local governments.
  5. Education: Alternative learning environments and tools for students, teachers, and entire school systems.
  6. Entertainment: Alternatives to traditional forms of entertainment that can keep the talent and audiences safe and healthy.
  7. Other: The above themes are just suggestions. Feel empowered to get creative!


The WHO, scientists from the Chan Zuckerberg Biohub, and experts from other industries will provide guidance on which projects are likely to prove most useful, said Facebook CEO Mark Zuckerberg, in a blog post. "[A]nd our engineers will be joined by teams from Microsoft, Slack, Pinterest, TikTok, Twitter, WeChat, Giphy, Slow Ventures, and more to build tools to help tackle some of the health, economic and community challenges coming from the outbreak," Zuckerberg said.

These companies will be sharing resources to support participants throughout the submission period, Zuckerberg said. And the organizers want participants to use technologies of their choosing.

Whipping up a hackathon to deal with some of the problems caused by the pandemic is not an unprecedented strategy, Zuckerberg pointed out. "Hackathons have always been an important part of how we come up with new ideas and projects at Facebook," he said, "features like Blood Donations and Crisis Response were first built during hackathons and are now used by millions of people worldwide. I'm hopeful that some useful prototypes and ideas will come out of this one as well."

Paola Pisano, Minister of Technological Innovation and Digitalization in Italy, one of the hardest hit countries, endorsed the hackathon in a video tweet, and encouraged developers to get involved: "#COVID19 Global Hackathon is a great opportunity for designers, developers to build solutions that drive social impact, with the aim of tackling some of the challenges related to the coronavirus pandemic. I'm encouraging innovators around the world to join #BuildforCOVID19."

#BuildForCOVID19 is open to anyone who wants to participate, and I encourage ADTmag readers who have the bandwidth to participate to sign up. You can find more details here.

Posted by John K. Waters on March 26, 20200 comments

The Java Gang at Oracle Talks Java 14

Oracle announced the general availability of Java 14 (Oracle JDK 14) this week, and though this is not a long-term support release, it comes with some highly anticipated new features -- plus, it arrives just two months before the 25th anniversary of the Java programming language, which was released by Sun Microsystems on May 23, 1995.

This seemed like a good time to check in with the Java gang at Oracle (from a safe distance, via video conferencing). Georges Saab, vice president of software development in Oracle's Java Platform Group, sees the same "candy-to-medicine ratio" in this release as we saw in Java 8, which, as he predicted, was very popular. The "candy" in Java 14 comes in the form of incremental features from some longer-term projects, such as Panama and Valhalla.

"Those are fairly ambitious projects that we started around the time we were working on delivering Java 9," he said. "We knew they going to take while to bear fruit, so we're really pleased to see some of these things coming in—things like Pattern Matching, Records, and the Foreign-Memory Access API. All of those things have come from those larger projects. This is the start of something we'll see play out over the next few releases. From that perspective, this is quite an exciting release."

As I reported earlier, the list of JEPs addressed in this release is a long one. Pattern Matching (JEP 305), which allows common logic in a program to be expressed more concisely and safely, and Records (JEP 359), which provide a compact syntax for declaring classes that are transparent holders for shallowly immutable data, are both previewed in Java 14. Saab explained how Oracle is defining a feature "preview."

"People ask about this," he said. "Is it an alpha? Is it a beta? But it's actually a completely defined, production quality feature that hasn't had a chance to get the kind of broad feedback we really need on something that's going to be in the Java platform for the next few decades. We want to make sure we're getting it right, so we put it in as a preview feature, which developers have to actually enable, so they won't accidentally write some code that depends on that feature and not be aware it."

Saab also said he continues to get mostly positive feedback on the faster release cadence.

"People who made the investment to move from eight to something after nine, are in a really good place now," he said. "They can choose to keep a production workload running on Java 11 while they're trying out the newer releases. They've told us it was a bit of an effort to get to 11, but now, they're finding it really easy to move forward with the smaller, six-month releases."

When I pushed him or favorite new features, Aurelio Garcia-Ribeyro, Oracle's senior director of product management in charge of Java SE, and a Sun Microsystems veteran, didn't hesitate.

"It's Records," he said. "It's just so easy to show the benefits on that one. I remember when I was learning Java, it took me a while to get used to having to write boiler-plate code. For every class, you had to implement toString(), equals(), and hashCode(). Now, if you're using records, you don't have to do that. Records provides a compact syntax for declaring classes which are plain immutable data carriers."

Manish Gupta, Oracle's VP of global marketing for Java and the GraalVM, pointed out (as the marketing guy should) that Oracle's contribution to this release surpassed all other contributors combined.

"There is a strong ecosystem that's participating in the OpenJDK for all of the releases," Gupta allowed, "and the development is done in a transparent and open manner. But the level of investment and the engineering resources Oracle continues to put behind this platform far exceeds the investment from Red Hat, IBM, and others, though they make a lot more noise about their contributions."

Gupta also weighed in on the status of Oracle's Java SE subscription service, which Big Red launched in June 2018. "Although there was a lot of initial anxiety in the market, and we couldn't predict what the uptake would be, I'm happy to report that we have, with many of our  customers, crossed the one-year line," he said. "Our last quarter was the first to see subscription renewals, and we came close to a 90% renewal rate. It's a validation of the model, which was a significant change. Thousands of customers are seeing value in it."

I pointed to my interview with Gartner analyst Anne Thomas earlier this year, in which she suggested that the advent of Oracle's subscription model hit the budgets of many organizations hard.

"Options still exist for people," he said. "But if you're an enterprise, you're probably going to be paying for support somewhere. The question is, do you want the support of the company that is driving much of the innovation in the Java space, or others. We're not trying to lock you in, but we want to make sure you recognize the value you get from Oracle."

Posted by John K. Waters on March 19, 20200 comments

Eclipse Foundation Survey: IoT Is Real and Adoption Is Growing

The Eclipse Foundation this week released the results of its first annual "IoT Commercial Adoption Survey." Based on the responses of 366 individual participants, who responded between Oct. 7 and Dec. 2, 2019, the survey uses direct industry feedback to provide a snapshot of the state of the Internet of Things (IoT) industry landscape.

"The Internet of Things is clearly one of the major technology trends today and a ubiquitous buzzword," said Mike Milinkovich, executive director of the Eclipse Foundation, in a statement. "This survey, which we hope will be the first of an annual tradition, seeks to provide real insights into what organizations are doing with the IoT right now and their plans for production deployments."

The survey was designed to identify "the requirements, priorities, and challenges faced by organizations that are deploying and using commercial IoT solutions," the Foundation said. It delivers insights from enterprises on their decisions regarding IoT growth overall, growth per industry, architectural choices and IoT investment by application. The survey data also includes details on IoT adoption by industry, top concerns by commercial IoT adopters and breakdowns by organizational role.

The survey data leads to a number of conclusions, including:

  • IoT is real and adoption is growing, if slower than the hype would indicate. Just under 40 percent are deploying IoT solutions today and another 22 percent plan to start deploying IoT within the next two years.
  • Caution rules in the IoT market, with 30 percent of organizations planning to spend less than $100,000 in the next year.
  • IoT investment is on the rise, with 40 percent of organizations planning to increase their IoT spending in the next fiscal year.
  • Open source pervades IoT with 60 percent of companies factoring open source into their IoT deployment plans.
  • Hybrid clouds lead the way for IoT deployments. Overall, AWS, Azure and GCP are the leading cloud platforms for IoT implementations.

"This survey is one of the first to truly tap into what industry leaders are actually doing about IoT right now," said Deborah Bryant, senior director, Open Source Program Office for Red Hat, in a statement. "The survey results highlight the important role of open source software in helping companies achieve their goals. This should be a wake-up call for any organization that has yet to evaluate solutions based on open standards and open source technologies as part of their IoT plans."

The Foundation is gearing up for its 2020 IoT survey. Those interested in contributing questions or providing feedback to that effort are welcome to join the working group mailing list here, the Foundation says.

Posted by John K. Waters on March 12, 20200 comments

Python Popularity Surging Because AI/ML Engineers Need It

The Python programming language has been topping virtually every tech trend list for the past two years, so it was no surprise to see it earn another "most popular" ranking in O'Reilly's annual analysis of the most-used topics and the top search terms from its online learning platform. But the reason for Python's latest blue ribbon is worth noting: according to O'Reilly, it was demand among data scientists and artificial intelligence (AI) and machine learning (ML) engineers.

Python is the go-to language for AI, ML and natural language programming (NLP) development, thanks in no small part to the dozen or so libraries and development tools that support it, from TensorFlow to Pytorch. And simple syntax and readability promote rapid testing of complex algorithms, and make the language accessible to non-programmers.

The O'Reilly analysis of its own data, published this week, found that Python accounted for 10 percent of all usage because of growing demand for AI/ML skills.

"Python has acquired new relevance amid strong interest in AI and ML," the report states. "Along with R, Python is one of the most-used languages for data analysis. From pre-built libraries for linear or logistic regressions, decision trees, naïve Bayes, k-means, gradient-boosting, etc., there's a Python library for virtually anything a developer or data scientist might need to do. (Python libraries are no less useful for manipulating or engineering data, too.)"

Usage specific to Python grew by just 4 percent in 2019, the analysts found, but usage that had to do with Python and ML -- whether for AI, deep learning, or NLP, or in combination with any of popular ML/AI frameworks -- grew by 9 percent."

And yet, the analysts also noted that AI/ML "passions have cooled."

"Up until 2017, the ML+AI topic had been among the fastest growing topics on the platform," he report states. "Growth is still strong for such a large topic, but usage slowed in 2018 (+13 percent) and cooled significantly in 2019, growing by just 7 percent. Within the data topic, however, ML+AI has gone from 22 percent of all usage to 26 percent."

So interest might be slowing while growing. The analysts also noted that data engineering as a practice area is being subsumed by both data science and AI/ML: "We know from other research that data scientists, ML and AI engineers, etc., spend an outsized proportion of their time discovering, preparing, and engineering data for their work. We've seen that popular tools and frameworks usually incorporate data engineering capabilities, either in the form of automated/guided self-service features or (in the case of Jupyter and other notebooks) an ability to build and orchestrate data engineering pipelines that invoke Python, R (via Python), etc., libraries to run data engineering jobs concurrently or, if possible, in parallel."

There's lots more in this study, which is based on "non-personally-identifiable" information about the top search terms and most-used topics on O'Reilly's platform. Definitely a must read.

Posted by John K. Waters on February 20, 20200 comments

Eclipse Partners with IOTA on Open Source Distributed Ledger Tech

The Eclipse Foundation has made some baller moves in the last few years -- its commitment to an annual simultaneous release of multiple open-source projects and taking on the responsibility for the evolution of enterprise Java, to name two. This week it entered into a partnership to support another foundation's open-source technology.

Working with the IOTA Foundation, Eclipse launched the Tangle EE Working Group to provide a governed environment for contributions to IOTA's open source distributed ledger technology (DLT).

"This initiative with the IOTA Foundation is the deepest relationship we've entered into with another open source organization," the Eclipse Foundation's executive director Mike Milinkovich told me. "In fact, I think our partnership may be unprecedented in the open source community."

Unlike that other DLT, which uses a distributed set of cryptographically linked data "blocks," the Tangle (and yes, it's "the" Tangle) is an aptly named model of a stream of interlinked transactions stored across a decentralized network. The Tangle is a directed acyclic graph (DAG) consisting of vertices and edges. The vertices represent transactions and the edges represent approvals. For a transaction to be valid, each node in a DAG Tangle must approve two previous transactions at other nodes. This model removes "miners" as entities to validate transactions, which eliminates a potential bottleneck. Also, the network's growth and speed become directly proportional to the numbers of its users.

The main motivation behind the development of this blockchain alternative, said Dominik Schiener, co-founder of IOTA, is scalability. Blockchain has an inherent transaction rate limit, he told me, because all participants agree on the longest chain and discard forks and side branches. But the Tangle allows different branches of the DAG to merge eventually, resulting in a much faster overall throughput.

IOTA's founders were involved early with blockchain tech, but recognized this limitation. "We had this big vision for an open-source protocol connecting the human economy with the machine economy, to make it possible for one machine to pay another machine," Schiener said. "We imagined these big use cases, but then realized that, for the Internet of Things to truly function, we needed to introduce a distributed ledger."

IOTA the company was founded in 2015; the IOTA Foundation was established as a non-profit in Germany in 2017. The foundation has two areas of focus today, Schiener explained. The first is research. "We have, like, 20 mathematicians focused on the theory behind our technology," he said. The second is engineering. "As a non-profit foundation, we do not create commercial applications, but our mission is to empower large enterprises, startups, and governments to create commercial applications with the tools that we provide."

The foundation is also committed to establishing IOTA as a trusted standard, which is where Eclipse comes in.

"Governance is crucial to our long-term goal," Schiener said. "Obviously, we've been developing the technology ourselves with our developer community. The next phase is to open up this development to enterprises and other entities, like universities, that want to be part of this work. That's why we are very excited to be joining the Eclipse foundation and opening up the Tangle EE Working Group.

A total of 15 companies have joined the new working group. The list of founding members includes Dell, German electronics provider STMicroelectronics, and the University of Magdeburg.

"This is a big deal for the Eclipse Foundation," Milinkovich said, "and a bit of a different wrinkle for us."

Milinkovich stressed that the relationship is a partnership. Even though the Tangle EE Working Group falls under the Foundation's governance rules, it's not an Eclipse Project, such as the Eclipse IDE or Eclipse MicroProfile. "These are two non-profits working together with a shared goal of fostering an enterprise ecosystem around IOTA's technology," he said, "which is what we do best."

In other words, Eclipse isn't shepherding the Tangle. It's providing the governance model for the projects using it.

Two actual projects were announced at the launch of the new working group. The first, "Unified Identity," involves building an interoperable trust infrastructure that enables identity for people, organizations, and things. "We will develop a high-level protocol and further tooling to encourage adoption of decentralized identity on IOTA," the Web site states. The second, "Decentralized Marketplaces," aims to enable organizations to easily deploy and participate in decentralized marketplaces. "We will develop an extendable toolkit to enable real-time trading of data, products, and services," the Web site states.

 "We're going to be applying our normal open source project governance rules to those projects," Milinkovich said, "making sure that they're brought forth in a  vendor-neutral way. The IOTA Foundation is still the prime mover behind the technology."

Posted by John K. Waters on February 12, 20200 comments

IBM Dev Creates AI-Driven App To Automate Image Labeling

I was reminded today that developers are action-oriented -- at least when it comes to problems that can be solved with software. IBM developer advocate Nicholas Bourdakos knew his colleagues were spending hours manually labeling thousands of images for their machine learning models, and he railed against this injustice to the heavens, "This shall not stand!"

Okay, he probably didn't do that. (I like to think all developers do it in their hearts.) In fact, when I talked with him on a video call today, he was the definition of "chill."

"My goal was just to make it a lot easier for developers and non-developers to label their own custom data for training machine learning models," Bourdakos said. "It was a totally manual process, pretty much like hard coding files. This tool lets you just drag and drop videos and images and mark them up. It's still a little bit manual, but it's a lot better than it was before."

See? Chill.

The open source tool Bourdakos created is called Cloud Annotations. It leverages AI to assist with the labeling process. It's built on top of IBM Cloud Object Storage, so you need an IBM Cloud account to use it. Big Blue offers a "lite" tier of object storage, which includes 25 GB, free. Along with its reliability, cloud object storage opens up the potential for collaboration, Bourdakos pointed out, because a team can use the tool to annotate a dataset simultaneously in real-time.

"You need a lot of images to train a computer vision model," Bourdakos said. "Right now, it takes 200 to 500 samples of hand-labeled images for a model to detect one specific object. you need a lot of images.

Cloud Annotations supports uploading of both photos and videos. The tool can be accessed when using the Cloud Annotations GUI. Here's how it works:

  • A user uploads and labels a subset of photos via the Cloud Annotations GUI. 
  • The user then trains a model following the instructions on the "Training a model" page.
  • The tool uses that model to label more photos.
  • The user selects the "Auto label" button in the GUI and the tool autolabels the images that are being uploaded.
  • The user reviews the new labels.

Here's a link to a video on Twitter that shows how the auto-labeling function works. There's also a video on the Web site featuring images of a puppy playing in the sand at the beach. (Truly adorable.)

The Cloud Annotation auto labeling feature is currently live on GitHub and available to anyone.

Posted by John K. Waters on January 30, 20200 comments

Java in 2020, Part 2: Anne Thomas on Java Subscription, Jakarta and MicroProfile

  • MORE ON THIS TOPIC: Java in 2020, Part 1: What To Expect According to the Experts
  • Talking with Gartner VP and distinguished analyst Anne Thomas about Java at the start of a new year is becoming a habit. (Let's call it a tradition.) Thomas is a longtime industry watcher with deep industry knowledge, she understands the tech and she doesn't mind stirring the pot, so to speak, if that's what her observations demand.  

    We started with Oracle's Java SE subscription service, which Big Red launched in June 2018. As virtually all Java users know, starting in January 2019, public updates for Java SE 8 were no longer available for business, commercial or production use without a commercial license. I heard mostly upbeat reports when I asked about how Oracle's customers were adapting to the new model in earlier what's-next-in-2020 interviews. The reactions Thomas tracked last year were mixed.

    "For the companies that purchased the commercial versions of Java -- Java SE Advanced and Java SE Suite -- it gave them a nice reduction in cost," she said. "But the vast majority of organizations did not purchase those commercial licenses, and they've been using Java for free for the last decade-and-a-half. Those folks all of a sudden have these bills -- sometimes enormous bills… sometimes in the millions -- that they didn't have before."

    When Oracle unveiled its Java SE subscription service, it was positioned as a complement to Oracle's existing free releases and OpenJDK ecosystem. It would "remove enterprise boardroom concerns around mission critical, timely, software performance, stability and security updates," the company said at the time. The advanced groundwork notwithstanding, most organizations were simply not prepared for it, Thomas said.

    "It hit their budgets pretty hard," she said. "I've taken about 250 calls on this topic in the last year. Paying Oracle for a commercial license is clearly the easiest way to deal with this situation, and you might find the support agreements in the apps you're using actually stipulate that you use Oracle Java. But for some organizations, an alternate distribution, such as AdoptOpenJDK, Amazon, Azul, IBM or Red Hat, is pretty much their only option. The good news is, they have those options."

    Another reason the pay-Oracle option might be worth the expense, even with so many alternative distributions to choose from: Third-party distros can be challenging.

    "It's a huge amount of work to identify which programs are using Java, which versions they're using, and then test and verify that all those applications will run on an alternative distribution," Thomas said. "And OpenJDK does not include support for the Java plug-in, which you need if you're running applets or Java Web Start. There's an open source project called IcedTea-Web that supposedly supports it, but I've heard conflicting reports from people about their success."

    Some vendors have licensed Java from Oracle and taken on the cost. Thomas cited Adobe as an example. Other vendors, such as Atlassian, have moved to support alternatives, such as AdoptOpenJDK, in their offerings.

    But the core issue for organizations struggling with all this change is that the vast majority of Java applications -- certainly more than 80 percent -- still have a dependency on Java 8 or earlier, Thomas said.

    "If you want free Java from Oracle with updates on the new six-month cadence, you have to upgrade to the latest version," she said. "At this point, you need to be on Java 13. But hundreds -- probably thousands -- of vendors have Java 8 dependencies, and you have all these third-party applications you run within your organization that don't run on Java 13."

    Oracle says it will end regular support for Java 8 in 2022 and cease extended support in 2025.

    Why are so many sticking with Java 8? "At some point, organizations are going to have to think about moving off Java 8," Thomas said, "but so far, none of the features in Java 8, 9, 10, 11, 12 or 13 have been compelling enough to get them moving. But my advice if you're building new Java applications: They should not be based on Java 8, but Java 11."

    Thomas speculated that the subscription model could influence decisions in the enterprise about future commitments to Java.

    "Java is a really nice, mature programming language," she said, "and it continues to be enormously popular for good reason. But Oracle's licensing is an issue for many of the organizations I talk to. Some of them are definitely reconsidering their Java commitments."

    Thomas saw the writing on the wall for Java EE, now Eclipse Jakarta EE, at least a year before that startling standards-body hand-off. During a 2017 interview with ADTmag, she described Java EE as "overgrown and not right for cloud-native app development." And she advised those responsible for modernizing an enterprise's application infrastructure to "develop a strategy to deal with the obsolescence of Java EE and other three-tier application frameworks." She doesn't have higher hopes for Jakarta EE, even under the more involved stewardship of the Eclipse Foundation.

    The Foundation released the Jakarta EE 8 specification last August with the primary goal of providing a version that is 100 percent compatible with Java EE 8. The plan for Jakarta 9, which was just announced, is to deliver a set of specifications that are functionally similar to Jakarta EE 8, but in the new jakarta.* namespace.

    "It took three years to deal with the namespace issue," Thomas said. "Eclipse needed to do it, but they're now at parity with where we were five years ago."

    "You should be building your back end as a set of restful services," she added, "and your front end using your favorite JavaScript framework. And the front end should be talking to the back end using APIs, because you want that back end to support your mobile clients, your voice clients, your immersive clients, your kiosks, your watches and things we haven't thought of yet. You need to be designing your applications to be multi-experience, and 90 percent of what is in Java EE right now is focused on providing server-side generation of HTML. The applications you build today should be microservices or miniservices with deployment in your favorite platform-as-a-service-type environment or Kubernetes-type environment. And you should be using the MicroProfile, not Jakarta."

    Thomas pointed to a lack of innovation in such Java EE-based offerings as WebSphere, WebLogic and JBoss. "That's old technology and not where you should be targeting your applications anymore," she said.

    Thomas does have high hopes for Quarkus, the Kubernetes-native Java framework Red Hat released last year, which is now compatible with the latest version of the Eclipse MicroProfile.

    "MicroProfile is where it's at," she said.

    Posted by John K. Waters on January 28, 20200 comments

    Jenkins Creator Launches Startup To Speed Software Testing with Machine Learning

    Kohsuke Kawaguchi, creator of the open source Jenkins continuous integration/continuous delivery (CI/CD) server, and Harpreet Singh, former head of the Bitbucket group at Atlassian, have launched a startup that's using machine learning (ML) to speed up the software testing process.

    Their new company, Launchable, which emerged from stealth mode on Thursday, is developing a software-as-a-service (SaaS) product with the ability to predict the likelihood of a failure for each test case, given a change in the source code. The service will use ML to extract insights from the massive and growing amount of data generated by the increasingly automated software development process to make its predictions.

    "As a developer, I've seen this problem of slow feedback from tests first-hand," Kawaguchi told ADTmag. "And as the guy who drove automation in the industry with Jenkins, it seemed to me that we could make use of all that data the automation is generating by applying machine learning to the problem. I thought we should be able to train the machine on the model and apply quantifiable metrics, instead of relying on human experience and gut instinct. We believe we can predict, with meaningful accuracy, what tests are more likely to catch a regression, given what has changed, and that translates to faster feedback to developers."

    The strategy here is to run only a meaningful subset of tests, in the order that minimizes the feedback delay.

    Kawaguchi (known as "KK") and Singh worked together at CloudBees, the chief commercial supporter of Jenkins. Singh left that company in 2018 to serve as GM of Atlassian's Bitbucket cloud group. Kawaguchi became an elite developer and architect at CloudBees, and he's been a part of the community throughout the evolution of this technology. His departure from the company was amicable: Its CEO and co-founder Sacha Labourey is an investor in the startup, and Kawaguchi will continue to be involved with the Jenkins community, he said.

    Software testing has been a passion of Kawaguchi's since his days at Sun Microsystems, where he developed Jenkins as a fork of the Hudson CI server in 2011. Singh also worked at Sun and served as the first product manager for Hudson before working on Jenkins. They will serve as co-CEOs of the new company. They reportedly snagged $3.2 million in seed funding to get the ball rolling.

    "KK and I got to talking about how the way we test now impacts developer productivity, and how machine learning could be used to address the problem," Singh said. "And then we started talking about doing a startup. We sat next to each other at CloudBees for eight years; it was an opportunity I couldn't pass up."

    An ML engine is at the heart of the Launchable SaaS, but it's really all about the data, Singh said.

    "We saw all these sales and marketing guys making data-driven decisions -- even more than the engineers, which was kind of embarrassing," Singh said. "So it became a mission for us to change that. It's kind of our north star."

    The co-execs are currently talking with potential partners and recruiting engineers and data scientists. They offered no hard release date, but they said they expect a version of the Launchable SaaS to become generally available later this year. 

    Posted by John K. Waters on January 23, 20200 comments