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, 2020 at 11:38 AM0 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, 2020 at 2:16 PM0 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, 2020 at 11:01 AM0 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, 2020 at 8:52 AM0 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, 2020 at 7:18 AM0 comments

    Eclipse Jakarta EE 9 Release Plan Approved

    The Eclipse Foundation's Jakarta EE Working Group today announced unanimous approval of a release plan for version 9 of the Eclipse Jakarta EE Platform.

    The Working Group is proposing to deliver the specifications in a series of eight "waves," starting with an Independent (stand-alone) Wave, followed by Waves 1-7. Wave 1, for example, comprises the following specs:

    • Jakarta JSON Processing
    • Jakarta Dependency Injection
    • Jakarta Expression Language
    • Jakarta Bean Validation
    • Jakarta WebSocket
    • Jakarta Servlet
    • Jakarta Activation
    • Jakarta SOAP with Attachments
    • Jakarta Interceptors

    Details of the specs planned for each wave are available on the project page. So is the release timeline, but the Working Group emphasized that the schedule is "aggressive" and the dates are early estimates that will be reviewed and adjusted at each release. For now, the final release is planned for mid-2020 on the following release schedule:

    • Individual Component Plan Reviews (Feb 1)
    • All API jars available (Feb 14th)
    • Platform TCK changes complete (March 13th)
    • Full Profile and Web Profile First Release Candidate (May 4th)
    • Full Profile and Web Profile Final Release Review Votes Start (June 12th)

    The Foundation's executive director, Mike Milinkovich, announced the plan in his "Life at Eclipse" blog. (If you're not reading it, you should be.) The primary goal of the Jakarta EE 9 release, he said, is to deliver a set of specifications that are functionally similar to Jakarta EE 8, but in the new jakarta.* namespace .

    "Moving a platform and ecosystem the size and scale of Jakarta EE takes time and careful planning," Milinkovich said. "After a great deal of discussion, the community consensus was that using EE 9 to provide a clear transition to the jakarta namespace, and to pare down the platform would be the best path to future success. While work on the EE 9 platform release is proceeding, individual component specification teams are encouraged to innovate in their individual specifications, which will hopefully lead to a rapid iteration towards the Jakarta EE 10 release."

    The Working Group is also developing a program plan, as well as marketing and budget plans for 2020, Milinkovich said.

    Milinkovich's post also includes a recap of some the enterprise Java community's accomplishments over the past year.

    Posted by John K. Waters on January 16, 2020 at 12:17 PM0 comments

    Java in 2020, Part 1: What To Expect, According to the Experts

  • MORE ON THIS TOPIC Java in 2020, Part 2: Anne Thomas on Java Subscription, Jakarta and MicroProfile
  • Wait, what? Java's not dead? Irrelevant? Replaced by Kotlin? Python? (Swift?)

    Nope. Java weathered the predictions of its demise yet again, and though it missed being named TIOBE's programming language of the year for the second year in a row (good old C earned that title, which tells you something about this Who's the Most Popular dance), it remains one of the world's most valuable and widely used languages and platforms.

    Once the holiday dust has settled and the annual prediction parade has rounded the corner, I like to get a few comments from Java community leaders and industry watchers about where we've been and where we're going in the coming year -- especially now, as we start a new decade (or end an old one, depending on how picky you are about when we started counting).

    Heather VanCura, chair of the Java Community Process (JCP), sees 2020 as the year developers and vendors, now fully adapted to the faster Java release cadence, take full advantage of the more incremental release schedule.

    "I spent a lot of my time in 2019 demonstrating, teaching and working with developers and teams about the practices they can implement to take advantage of all the new things happening in Java," VanCura said. "With the more incremental releases, they have a chance now to learn and study some of the smaller innovations that get missed in the bigger releases. Java 9, for example, had hundreds of new features, but everyone focused on modularity. The more digestible releases give people the opportunity to really focus on the benefits of those features."

    Among the trends the JCP is addressing in the coming year, AI and machine learning are probably the buzziest.

    "AI and machine learning definitely come up in most of the conversations I'm having these days," she said, "and people are excited about the technologies, and they want to know how they can leverage their Java skills in that space. We're definitely looking at how to optimize Java to do well for this kind of development. We have a JSR [Java specification request] on visual recognition. The work Brian Goetz is doing with Project Panama looks promising. And with the new release cadence, we don't have to wait for that project to be finished. Whatever comes out of it over time will be integrated into the platform."

    "It's less now about the version and just more about what's happening with Java in the moment," she added. "Java is a living, breathing thing that is continuously evolving to meet the needs of developers."

    Georges Saab, VP of software development in the Java Platform Group at Oracle, agrees that people are finally getting used to the faster release cadence Oracle implemented for Java. And he said we're starting to see a significant transition from the Java 8 long-term support (LTS) release to the Java 11 LTS. And once people make that big jump, the move to the six-month releases (Java 12 and 13) will be much easier.

    "That's the big trend I see continuing in 2020," Saab said.

    He also predicted that three projects -- Valhalla, Amber and Panama -- will bear fruit in increments over the next six months. He also sees the evolution of Java over the next year moving the language and platform into even more cutting-edge areas, such as AI and microservices.

    "I'm really optimistic about things right now," he said. "From where we are, both with the technology and my group at Oracle, things have never been better. There's a lot of experimentation happening with things like Valhalla and with other languages. I think most of the major changes and investments we've made in things like modularization, the faster release cadence and the subscription offering, both from us and the other players in the Java space, have put Java in a place where we're poised to take the next steps that are really going to help people see that Java is something that's worth their continued investment."

    Enterprise Java is now fully relocated to the Eclipse Foundation, and the Eclipse Jakarta EE 8 specification was released in August. The plan for Jakarta EE 9 is evolving quickly, with a "big bang" approach to package naming -- switching everything from javax.* to jakarta.* all at once -- in the offing. Mike Milinkovich, the Eclipse Foundation's executive director, sees 2020 as the year Eclipse really starts delivering on the promise of this new stewardship.

    "Once we get everything into the Jakarta namespace, this year will be about innovation," Milinkovich said. "That's the theme for Jakarta in 2020. Eclipse MicroProfile has been delivering innovation since its inception, and that will continue. And this looks to be an exciting year for frameworks, like Quarkus."

    Milinkovich also expects to see tighter integration between the Java and Kubernetes communities.

    "I think there's a real opportunity there to help bring together the largest enterprise developer ecosystem -- that's Java -- with the fastest growing infrastructure ecosystem -- that's Kubernetes," he said. "I think there's a lot of potential there in bringing these two technology platforms and communities into tighter alignment. It solves problems that folks in each community have. Kubernetes is a fantastic infrastructure, but it's not necessarily the easiest to develop for. The Java ecosystem brings millions of developers and a generation of experience in building enterprise systems. Kubernetes brings relevance in this new cloud-data world. The potential for tighter synergies between those two platforms and communities is going to be something to really watch in 2020."

    Milinkovich's message to developers: "Java is going to be around for a long time, and I see an amazing alignment of vendors, communities and innovation. Keep your skills up with the new things happening in Java. There's no reason for you abandon the skills you have today in Java for some shiny new toy."

    Posted by John K. Waters on January 15, 2020 at 8:53 AM0 comments

    Tech Orgs Urge SCOTUS to Reverse Google v. Oracle on Java Copyright

    A number of small companies and tech organizations joined the Mozilla software community in a friend of the court brief, filed this week, urging the Supreme Court of the United States (SCOTUS) to reverse a federal circuit court's decision that Google infringed on Oracle's copyrights to Java code in its Android mobile operating system.

    The list of organizations on the Mozilla amici curiae includes Medium, Cloudera, Creative Commons, Shopify, Etsy, Reddit, the Open Source Initiative, Mapbox, Patreon, the Wikimedia Foundation, and the Software Freedom Conservancy. 

    "Competition and innovation are at the heart of a healthy internet and the field of software development that fuels it," the brief states. "For decades, software engineers have relied heavily on reimplementation, including reuse of functional protocols such as the software interfaces in this case, to create competing alternatives to incumbent industry players and develop new markets without fear of copyright infringement…."

    The federal court's ruling against Google "upended decades of industry practice and the well-established expectations of developers, investors, and consumers," the brief states. the brief urges the Court to reverse the lower court's finding that the structure, sequence, and organization ("SSO") of Oracle's Java API package was copyrightable, and also that Google's use of that SSO was not a "fair use" under copyright law.

    The brief makes its argument from the perspective of small, medium, and open-source tech organizations, said Abigail Phillips, head of the Mozilla Foundation's legal department, in a blog post. "Mozilla believes that software reimplementation [the process of writing new software to perform certain functions of a legacy product] and the interoperability it facilitates are fundamental to the competition and innovation at the core of a flourishing software development ecosystem."

    The federal court's ruling would upend the tradition of reimplementation "not only by prohibiting it in the API context of this case," Phillips wrote, "but by calling into question enshrined tenets of the software industry that developers have long relied on to innovate without fear of liability."

    The consequences of a ruling against Google are especially dire for small software developers, she wrote, who are already disadvantaged in the industry by their size and relatively limited resources. The result would be fewer innovations from small companies and a reinforcement of the positions of the tech industry's largest enterprises, as well as a "decline in incentive" among the big companies to improve their products.

    "We believe that a healthy internet depends on the Supreme Court reversing the Federal Circuit and reaffirming the current state of play for software development, in which copyright does not stand in the way of software developers reusing SSOs for API packages in socially, technologically, and economically beneficial ways," the brief states.

    In November, SCOTUS agreed to decide whether Google should have to pay Oracle billions of dollars for infringing on its copyright of 37 Java APIs Google used in its Android operating system. (Our earlier report includes a summary of the long history of this case, which started when Oracle sued Google in 2010.)

    Google, which is a subsidiary of Alphabet, Inc., filed a writ of certiorari with the Supreme Court last year, asking for a review of the earlier judgment of the U.S. Court of Appeals for the Federal Circuit in this case. Google described the dispute as "the copyright case of the decade."

    "Above and beyond the broader implications for copyright law, this case warrants the Court's attention for its sheer practical importance," the petition reads in part. The ruling "…threatens the prevailing approach to building computer software…"

    The court granted the certiorari. Google filed its opening brief last week.

    Oracle is seeking $8.8 million in damages from Google for what it sees as the "epitome of copyright infringement," which has done "incalculable market harm."

    Kent Walker, Google's SVP of Global Affairs and Chief Legal Officer, wrote a blog post, stating his company's position. And the Business Insider has reported that IBM will be supporting Google with its own brief this week.

    Posted by John K. Waters on January 14, 2020 at 10:43 AM0 comments

    Exit the Java EE Guardians; Enter the Jakarta EE Ambassadors

    The Java EE Guardians, the all-volunteer organization formed in 2016 to secure the continuing evolution of enterprise Java, is considering a name change -- and not just because "Java EE" has become "Jakarta EE." With the platform now securely evolving under the stewardship of the Eclipse Foundation, the members don't feel they have much to guard these days. In fact, they feel more like ... ambassadors.

    The renaming of the organization to The Jakarta EE Ambassadors is all but a done deal, and it's clearly a milestone in the evolution of enterprise Java and the Guardians' years-long effort to save it from Oracle's neglect. So, I reached out to members of the organization to ask about the process of choosing a new moniker and the group's changing mission.

    "'Guardians' was appropriate for the change in stewardship and governance, because many who relied heavily on the Java EE standard had a sense the transition may go awry," said Dennis Gesker, CTO at Alamon, Inc., in Kalispell, Missouri. "But, boy, things are looking good, and I think it's a positive development that this trepidation has eased. There's traction in EEs new home, and it's moving forward under the new governance model."

    Ondrej Mihályi, a Prague-based engineer at Payara, said "Ambassadors" received a wide consensus within the Java EE Guardians community very quickly. In fact, no other names were proposed that were popular enough to compete with it.

    The Guardians got an assist in their name selection from the Eclipse Foundation, Mihályi explained. "The new name was actually suggested by the Eclipse Foundation, which means there are no legal obstacles to using it."

    "I can't remember who suggested 'Ambassador,' but I think it captures the right tone," said Mike Milinkovich, the Foundation's executive director. "As a community-based, member-supported organization, we don't feel that Jakarta EE needs to be 'guarded' from the Eclipse Foundation, and we're happy to see that they agree."

    The renaming sends a signal that a core part of the Java EE community is ready to embrace the Jakarta EE transition, said Reza Rahman, principal program manager for Java on Azure at Microsoft, and a founding Guardian. "There is no reason to think Jakarta EE should not surpass Java EE in adoption and relevance," he said, "though there is clearly work to be done ahead."

    And what exactly will that work entail? What will be the role of The Ambassadors in the Jakarta EE era?

    "The next step for the group is to begin to strengthen and rebuild the community around the technology," Rahman said, "as well as contribute directly towards accelerating multilateral, forward momentum, now that the transfer from the JCP is complete."

    "We will continue to ensure that the community's voice is heard," said Josh Juneau, application developer, system analyst, and database administrator at the Fermilab particle physics and accelerator laboratory in Illinois. "We want to make sure that it's not only the big vendors who are being heard."

    Gesker agreed that a key role of the Ambassadors going forward will be to represent the smaller members of the enterprise Java community in the governance of the platform. "The big guys -- Oracle, IBM, etc. -- have the resources to directly represent themselves," he said. "So, yes, a group that represents the needs and concerns of little shops and individuals, acting and communicating in a positive and constructive manner, is a good thing, and the branding should reflect that."

    The Ambassadors will also continue to promote enterprise Java, said Mihályi "We hope to help promote Jakarta EE, spread word about it, teach it, represent the voice of the user community, and positively influence the evolution of Jakarta EE and related processes within the Eclipse Foundation," he said.

    Milinkovich acknowledged the "instrumental" role the Guardians played in raising awareness of issues related to Oracle's stewardship of the Java EE Platform. Their work has, in fact, also helped Oracle, other Java EE vendors, and the community to "achieve what many considered impossible: the migration of Java EE to an open, vendor-neutral, community-based organization."

    "We're thrilled that the Java EE Guardians will be renamed as the Jakarta EE Ambassadors," he added. "Having this group advocating for this important technology will be a key part of our community's success going forward. Plus, I am sure that, regardless of what they're called, if they think we're messing something up, they won't be shy in telling us so!"

    Posted by John K. Waters on November 6, 2019 at 9:17 AM0 comments