Kite’s Coding Assistant Spots Errors, Finds Better Open Source
A startup called Kite wants to give programmers their very own digital assistant.
Kite’s self-titled product acts as a sidebar that sits next to a your code editor and enables you to search for open source code that they can incorporate into your programs. It attempts to provide relevant documentation and code examples as you type and tries to spot any errors you might have made while staying out of the way, unlike Microsoft’s infamous digital assistant “Clippy.”
Programmers are increasingly relying on external components when they build software instead of creating every single part of a program from scratch. This is nothing new, but it’s becoming more common thanks to the growing popularity of open source software. Kite is an attempt to make the process of working with outside code a little simpler.
The beta version of Kite, which launched today, is only available on Mac OS X and only supports the Python programming language. But CEO and co-founder Adam Smith says Kite will eventually support Windows and Linux, as well as other popular programming languages such as Java, JavaScript, and Go. Kite already supports several different code editors, including SublimeText, Vim, Emacs and Atom. It will also work from the command line.
“That was technically very difficult since terminals don’t have built-in support for plugins,” Smith says. The Kite team worked around this by taking advantage of an interface built into OS X meant to support screen readers for the blind. This enables them to watch what you type and provide relevant contextual information.
Although Kite will watch what you type locally, it won’t send any of your work to its cloud servers unless you specifically authorize it. The more people who agree to share their errors, and how they fixed them, with Kite, however, the better the system will be at spotting mistakes and recommending solutions. The local plugins will be open source, so developers will be able to verify that the nothing untoward is going on, or use the code to make Kite with code editors the software doesn’t yet support.
Smith was also the co-founder of Xobni (“inbox” spelled backwards), a company that made plugins for Microsoft Outlook and later Gmail that displayed information about the person who sent you a particular email. Yahoo acquired Xobni in 2013 but shut the company down a year later.
Smith says he’s learned a few lessons from Xobni’s struggles. For one, while Xobni initially focused only on Outlook, the Kite team is focusing on supporting multiple code editors from day one. He’s also trying to make Kite into a more collaborative tool, so Kite users have a reason to encourage their colleagues to use it as well.
Amazon’s Giving Away the AI Behind Its Product Recommendations
Amazon has become the latest tech giant that’s giving away some of its most sophisticated technology. Today the company unveiled DSSTNE (pronounced “destiny”), an open source artificial intelligence framework that the company developed to power its product recommendation system. Now any company, researcher, or curious tinkerer can use it for their own AI applications.
It’s the latest in series of projects recently open sourced by large tech companies all focused on a branch of AI called deep learning. Google, Facebook, and Microsoft have mainly used these systems for tasks like image and speech recognition. But given Amazon’s core business, it’s not surprising that the online retailer’s version is devoted to selling merchandise.
“We are releasing DSSTNE as open source software so that the promise of deep learning can extend beyond speech and language understanding and object recognition to other areas such as search and recommendations,” the Q&A section of Amazon’s DSSTNE GitHub page reads. “We hope that researchers around the world can collaborate to improve it. But more importantly, we hope that it spurs innovation in many more areas.”
Along with the idealistic rhetoric, open sourcing AI software is a way for tech industry rivals to show off and one-up each other. When Google released its TensorFlow framework last year, it didn’t offer support for running the software across multiple servers at the same time. That meant users couldn’t speed up their AI computations by stringing together clusters of computers the same way Google could running a more advanced version of the system internally.
That created an opening for other software companies like Microsoft and Yahoo to release their own open source deep learning frameworks that support distributed computing clusters.
Google has since caught up, releasing a version of TensorFlow that supports clusters earlier this year. Amazon claims its system takes distribution one step further by enabling users to to spread a deep learning problem not just across multiple servers, but across multiple processors within each server.
Amazon also says DSSTNE is designed to work with sparser data sets than TensorFlow and other deep learning frameworks. Google uses TensorFlow internally for tasks such as image recognition, where it can rely on the Internet’s vast store of, say, cat photos to train its AI to recognize images of cats. Amazon’s scenarios are quite different. The company does sells millions of different products. But the number of examples of how the purchase of one product relates to the purchase of another are relatively few by comparison to cats on the Internet. To make compelling recommendations—that is, to recommend products that customers are more likely to click on and buy—Amazon has a strong incentive to create a system that can make good predictions based on less data. By open sourcing DSSTNE, Amazon is increasing the likelihood that some smart person somewhere outside the company will help the company think of ways to make the system better.
Microsoft Will Bring Its SQL Database Software to Linux
Nearly one quarter of all the servers running in Microsoft’s Azure cloud service are powered by the open source operating system Linux. But you can’t actually run much Microsoft software on those Linux servers.
That’s about to change. Companies will soon be able to run Microsoft’s database software SQL Server on Linux, Microsoft’s Scott Guthrie said in a blog post today.
Or at least part of it. A spokesperson clarified that Microsoft will offer at least SQL Server’s core capabilities. Other components will depends on customer demand and feedback.
Microsoft isn’t open sourcing SQL Server’s code, but making it run-able on Linux is a big change for the company. Microsoft has long offered a Mac version of its Office suite and has recently released versions for Android and iOS. Other than that, however, you generally need to run Windows if you want to use Microsoft software. Few Microsoft applications run on Linux today, and those that do were acquired from other companies, such as Skype, Revolution R Enterprise, and Wunderlist.
Love for Linux
But Microsoft has been warming to the idea of supporting software on other platforms. Just last month the company announced plans to acquire Xamarin, a company that develops a cross-platform version of Microsoft’s popular .NET programming framework—a tool that enables developers to use Microsoft’s C# programming language to build applications that run on Linux and Apple’s operating systems, not just Windows.
Microsoft’s newfound love for Linux was a long time coming. Back in 2001, former CEO Steve Ballmer famously called Linux a “cancer.” In 2007, Microsoft threatened to sue Linux companies such as Red Hat for patent infringement.
But over the years, as open source won over not just hackers but corporations and governments as well, Microsoft changed its tune. It partnered with Red Hat in 2009 to ensure compatibility between the two company’s products. In 2012, it announced support for Linux on Azure and now even uses the operating system to actually run the cloud service. But for years, Microsoft’s main forays into open source were focused on bringing open source software that already ran on Linux to Windows, such as the data crunching platform Hadoop, the programming platform Node.js and the code management tool Git. Enabling users to run SQL Server on Linux, even if it isn’t open sourcing the underlying software, is another step in this new direction.
Whether users actually want to run SQL Server on Linux is another question entirely. Oracle’s flagship database software is still far more popular than Microsoft’s, and open source alternatives like MySQL and PostgreSQL are already enormously popular on Linux. But it is possible that more companies would pay for Microsoft SQL Server licenses if they could run it on Linux, thus avoiding having to pay for both a Windows Server license and a SQL Server license. That might end up being a wash for Microsoft’s bottom line. But more openness to open source could ultimately mean more techies are open to Microsoft.
New Programming Languages Keep Chipping Away at the Old
Developers are starting to make up their minds about which new programming languages they like best.
Several new languages have been introduced in recent years, including Google’s Go, Mozilla’s Rust, the scientific language Julia, and of course Apple’s Swift. These languages shook up the tech industry as new technologies like Go leapfrogged more established languages in popularity. Now that action may be slowing down, according to new data published by IT analysis firm RedMonk.
For the past five years RedMonk has tracked the popularity of different programming languages by charting the number of questions about each language asked on the popular programming question-and-answer site StackOverflow and the number of lines of code written in each language stored on the code hosting and collaboration site GitHub. These metrics don’t tell us much about how widespread use of each language is in the commercial sector, nor how many jobs are available for developers conversant in particular language. But it does give us a way to ballpark the level of interest different technologies have garnered from developers themselves.
Not much has changed since RedMonk released its last rankings in June 2015, more than six months ago. Swift managed to creep up one spot to 17 on the list, while Go held steady at 15. Rust moved up two spots, from 46 to 48, and Julia moved up one spot to 51. None of these languages are close to displacing the top languages. JavaScript, which is all over the web and an increasingly important part of mobile development thanks to tools such as Facebook’s React, is still number one. Java, which is still used to build Android apps and powers big data technologies like Hadoop, is still number two. If Swift and Go are going to replace Objective C and Java, it’s going to take some time.
But even though old languages may reign supreme, the crop of new languages has already altered the development landscape for years to come. Even as things stabilize, developers have more choices than ever.
Goodbye Applets: Another Cruddy Piece of Web Tech Is Finally Going Away
Another piece of old, insecure web infrastructure is about to be killed off.
Oracle says that it’s discontinuing its Java browser plugin starting with the next big release of the programming language. No, Oracle isn’t killing the Java programming language itself, which is still widely used by many companies. Nor is it killing off JavaScript, which is a completely different language that Oracle doesn’t control. What Oracle is getting rid of is a plugin that allows you to run programs known as “Java applets” in your browser.
You may not think you even have the Java plugin installed, but if you’ve ever installed Java, or if Java came pre-installed on your computer, then you probably do, even if you never use it. The good news is that Oracle won’t be automatically installing the Java plugin when you install Java anymore. The bad news is that it won’t be providing security updates anymore either, so you should go ahead and uninstall it now. In fact, there’s a good chance you can uninstall Java entirely.
Sun Microsystems, which was acquired by Oracle in 2010, introduced Java applets in 1995 and the technology was briefly popular with scientists and educators, who used them to create things such as interactive physics simulators. You can still relive the heyday of Java applets through UltraStudio, an online museum of educational applets, but Java has been mostly replaced by Flash and JavaScript for creating interactive programs on the web.
Unfortunately, it’s managed to stick around, thanks to Oracle’s practice of bundling the plugin with the Java installer. That’s made it a huge target for malware creators, and browser makers have slowly tried to phase the plugin out on their own. Google Chrome stopped supporting the plugin standard on which the Java plugin depends last year, and Mozilla has announced it will do the same by the end of the year. Microsoft Internet Explorer still supports the standard, but the newer Microsoft Edge browser does not.
Walmart Doesn’t Want You to Get Locked Into Amazon’s Cloud
Amazon’s biggest money-maker might not ultimately be its colossal e-commerce business but its cloud computing division, Amazon Web Services. Hundreds of thousands of companies, including rivals like Netflix, rely on Amazon to host and support their information technology infrastructure. Now Walmart hopes to help these companies break their dependence on Amazon.
No, Walmart isn’t getting into the cloud computing business to compete with its retail rival. But it has open sourced OneOps, a cloud management tool the company uses internally to run the infrastructure that underpins its e-commerce sites. Now any company will be able to use Walmart’s software to create, manage, and migrate applications across multiple cloud computing infrastructures, including Amazon, Microsoft’s Azure, and Rackspace. The point here isn’t to hobble Amazon’s cloud business. In fact, it could make it easier for some companies to use Amazon Web Services, since it will be easier to migrate applications between their own data centers and Amazon’s cloud—and they’ll have to worry less about getting locked in to Amazon’s services.
Walmart decided to focus entirely on open source software so the company wouldn't be beholden to any one software vendor.
This fear of being locked in is what drove Walmart to acquire OneOps back in 2013, says Jeremy King, the CTO of Walmart Labs, the division of the company that handles software engineering for all of Walmart’s brands.
King joined Walmart in 2011 with the mandate of modernizing the infrastructure that ran the company’s e-commerce efforts. “We realized the old tech stack wasn’t going to cut it,” he says. “It was all five years from being end of life. So we needed to do cloud.”
King and his team decided to focus entirely on open source software, so the company wouldn’t be beholden to any one software vendor for the foreseeable future. They standardized on OpenStack, a tool that helps developers create their own Amazon-style clouds, and started acquiring companies, including OneOps, in order to bring experienced open source developers into Walmart.
Now,by open sourcing OneOps, Walmart can work with the larger opens ource community to expand the tool’s functionality and support even more technologies, making it possible manage whatever new software the company wants to adopt in the future.
Despite the Rise of Open Source, Oracle Was 2015’s Fastest-Growing Database
Jana Asenbrennerova/Reuters/Corbis
It’s far too early to count Oracle out of the database wars. According to a new report from DB-Engines, a site that tracks the popularity of database technologies, Oracle was not only the most widely used and discussed database in the world in 2015, it was also saw the most growth in those areas last year as well, at least by one metric.
That’s a surprise because of the past few years, DB-Engines has tracked the rise of a number of newer database systems that discard the traditional way of organizing data in favor of the less structured approaches that Google and Facebook pioneered during their ascendancy in the mid-2000s. These so-called “NoSQL” databases such as MongoDB, Cassandra, and Redis have dominated DB-Engines’ listings of the fastest growing database technologies in the world, thanks in large part to their fresh approach to managing large or quickly changing volumes of data. What’s more, these databases are open source, meaning that anyone in the world can view and edit the code that underpins their software. Oracle has always dominated the rankings, but the fastest growing databases have typically been the newer open source varieties.
An Austrian technology consulting firm called Solid IT created the DB-Engines rating system to help its developers decide which new technologies were worth learning about and which were still too nascent to bother with. The company assigns each database system a score based on data gathered from many sources, such as Google Trends, various job listings sites, social media sites like Twitter, and the programming questions and answers site StackOverflow. To determine the fastest growing database systems, the company looked at which ones had the biggest total change in their scores. There’s a limit to DB-Engines’ accuracy because the site can’t say with certainty how many companies are using any particular technology. Rather it tries to approximate a database’s popularity based on job listings and the ebb and flow of conversations about the technology.
Oracle has always been strong on the job listings side, Solid IT co-founder Matthias Gelbmann says, but the growth this year was primarily due to a big increase in the number of conversations about Oracle’s flagship product on social media and Q&A sites.
It’s not clear why the number of conversations about Oracle increased last year. It could be because more companies are using Oracle’s flagship product, but Gelbmann speculates that it might be that older IT pros, the sorts who still use Oracle every day, are adopting social media tools at a faster rate. Or it could be that the large organizations that rely on Oracle technologies are hiring more of the young technologists who have traditionally turned to Stack Overflow when they have a problem. But he can’t be certain, because DB-Engines only tracks the trends in the data, not the causes of those trends.
Donnie Berkholz, an information technology analyst at 451 Research points out that sales of new Oracle database licenses have been declining in recent quarters, and that the DB-Engines team hasn’t smoothed their data, which means that many of the peaks and valleys in the site’s data could be statistical anomalies rather than meaningful changes. But he says that many companies still use Oracle for a variety of reasons, including pre-existing business relationships, difficulties in migrating to other other technologies, as well as technical requirements such as instrumentation, scaling, and performance.
The results don’t indicate a comeback for other proprietary relational databases. While Microsoft SQL Server and IBM DB2 remain some of the most highly ranked databases on DB-Engines, both slipped slightly year-over-year. Meanwhile, the open source NoSQL databases MongoDB and Cassandra, some of the top movers since DB-Engines started ranking databases, came in second and third.
The lesson? The world is still adopting new, open source databases at a rapid clip. But old-school Oracle isn’t going anywhere yet.
Microsoft to Open Source A Key Piece of Its Web Browser
Microsoft
Microsoft is continuing its march toward a more open future. The company said today it will open source a core piece of its Edge web browser, the successor to Internet Explorer.
Microsoft will publish the source code for Chakra, the part of Edge responsible for running JavaScript code, next month on the code sharing and collaboration site GitHub, the company said in a blog post. What’s more, the company will accept code contributions from developers outside of Microsoft—a point driven home by the fact that it made the announcement not at a company event but at the JSConf US Last Call developers conference in Florida.
This move isn’t the same thing as open sourcing the entire browser. You won’t be able to actually browse web pages using ChakraCore. But Microsoft thinks its JavaScript engine will find use in a wide range of applications, such as games, cloud services and Internet of Things devices.
That may seem counterintuitive, given that JavaScript was originally created as a programming language for web browsers. But in recent years the language has found a home in other applications, thanks to Node.js, a platform for running JavaScript on servers or other computers. (Node.js depends on Google’s V8, the JavaScript engine that powers Chrome.)
Why, then, would developers want to use Chakra instead of V8? Microsoft claims that Chakra has better support for the latest version of JavaScript. Chakra is already used by Microsoft outside of Edge to render JavaScript on the Xbox and Windows Phone, and on the server side for technologies from Cortana the Outlook.com.
Node.js can already run on Chakra instead of V8, but only on Windows systems. But Microsoft will work to make Chakra available on other platforms, according to the company. Making the software open source will open up Microsoft’s options for having it bundled with Linux distributions, as well make it possible for independent developers to port ChakraCore to other platforms.
And by sharing the code for Chakra, browser developers at Apple, Google and Mozilla can learn from Microsoft’s approach and potentially improve their own JavaScript rendering engines.
Open Source Is Going Even More Open—Because It Has To
Getty Images
Google often gives its software away for free. It has long believed in open source software.
But last week, the company took this idea to the next level. It gave away all rights to Kubernetes, a cloud computing system originally designed by Google engineers, asking a non-profit to manage its development. It didn’t just share some software code with the world. It agreed to let an independent party oversee the development of the code.
Dubbed the Cloud Native Computing Foundation, the organization is just the latest in a series of high profile new foundations now stewarding opens source projects created by large tech companies. In the past year, we’ve also seen the launch of the Cloud Foundry Foundation to govern a project originally released by VMware, the establishment of the Node.js Foundation, thanks cloud services company Joyent, and the founding of the Open Container Initiative, thanks to several different companies, most notably Docker and CoreOS. All four of these new organizations are under the umbrella of the Linux Foundation, the organization originally founded to manage the Linux Kernel, the core of all Linux operating systems.
Thanks to these foundations, competing companies—and independent developers—can come together to work on projects that benefit all of them without any one company owning the final product. That makes open source even more open. It makes it easier for the world to collaborate on new software.
Open source foundations are nothing new. Linux Foundation has been around since 2007, and other major projects like the Eclipse code editing tool and the Apache web server have been governed this way for even longer. Many of the most important open source projects in recent years, such as the Hadoop big data crunching platform and the database system Cassandra, are managed by the Apache Foundation. But it’s unusual to see so many new foundations created so quickly.
While the Linux kernel, Apache server, and Hadoop platform were all started initially as non-commercial projects, some of these new projects, like Cloud Foundry, have always been corporate products. And though some major open source projects remain corporate property, such as the MongoDB database, it’s becoming harder and harder to name significant projects that aren’t now part of a foundation. That’s a good thing.
Giving It Away
Why are so many companies giving away their intellectual property? It’s not happening for altruistic reasons. In his keynote at the O’Reilly Open Source Conference in Portland, Oregon last week, Cloud Foundry Foundation CEO Sam Ramji argued that the shift is being driven by economics.
Companies like Google want others to use their open source software since it can help drive the use of online services, like Google’s cloud computing tools. They want others to contribute code to this software too. But increasingly, others don’t want to use or contribute to projects unless they’re independently managed.
Venture capitalists have been pouring money into companies dedicated to commercializing open source projects, whether that’s by providing support and services for open source projects or by building proprietary products atop open source code. Docker, for example, has raised $162 million million according to Crunchbase. But new business models for open source create new challenges for the companies that maintain them.
“Turns out with all of that money, you start to generate distrust,” Ramji said. “So some of the old nature of the open source model is starting to break down as these projects become bigger and more valuable, I think that’s where foundations come in.”
For example, IBM and HP offer cloud services based on Cloud Foundry. It would be in their best interests to contribute back to the main Cloud Foundry project, but they might be disinclined to do so by the fact that they compete directly with Pivotal, a company spun out of VMware and EMC in part to commercialize Cloud Foundry.
When Pivotal owned all of the work that HP and IBM developers were putting into Cloud Foundry, there was always the possibility that the company could change the open source licensing, reject a competitor’s contributions, or make changes to the project that didn’t fit with the plans of outside contributors. One company was calling the shots, and it had to put its own interests first. So by putting its code into a neutral, independent organization, competitors can make mutually beneficial decisions without having to worry that all of their efforts will disappear overnight.
The Downside
But there are downsides to the foundation model, argues Derek Collison, one of the original creators of Cloud Foundry and the founder of Apcera, a startup that makes tools for managing cloud infrastructures. Foundations move slower than projects governed by a small team with clear goals, and innovation can be hampered by infighting, he says, echoing the reasons many open source project leaders have given for not placing their projects into foundations over the years.
“Design by consensus has never worked,” he says. “And it never will unless you have someone who says ‘I know the pain points, I know how to drive it forward.'”
But Collison isn’t totally against the idea of foundations. In fact, Apcera is part of the Open Container Initiative that is helping standardize an increasingly popular technology called containers. He argues that relatively little design or innovation has to happen within the foundation. With the standard established, the member companies are free to innovate as they see fit, adding their own unique features atop the standard.
Standards, Please
Standardization is a major driving force many of these new projects, Linux Foundation director Jim Zemlin told us last year. “Providing a huge standards document to a light bulb manufacturer won’t help it make better, cheaper bulbs,” Zemlin told us. “But if you hand them the open source code, then they can just start doing it.”
And even if foundations move more slowly than companies, they might still win out in the end. Ramji cited a study conducted by Henrik Ingo in 2010 to compare governance models of open source projects. Ingo’s conclusion: There appears to be a “glass ceiling” limiting the growth of of single vendor projects. In other words, if you want your project to grow, giving away the code to an independent organization is the best way to do that.
We get it: Ads aren’t what you’re here for. But ads help us keep the lights on. So, add us to your ad blocker’s whitelist or pay $1 per week for an ad-free version of WIRED. Either way, you are supporting our journalism. We’d really appreciate it.