ActiveState®: How Precompiled and Supported Versions of Ruby, Node.js, Go, and Lua Give You a Competitive Advantage

blog post

By: Laura StameyPosted: November 7, 2016

Follow "The Hosting Blog" daily as hosting experts, programmers, and tech managers go in depth on a variety of tech-related topics.

TL; DR: With their distributions of dynamic open-source languages, ActiveState lets developers quickly and efficiently create, deploy, and manage applications. Their teams have long played an active role growing the usage and communities of Perl, Python, Tcl — and now will do the same with Ruby, Node.js, Go, and Lua with recently announced distributions. Director of Product Management Jeff Rouse gave us a look inside the excitement of streamlining developers’ workflows and extending the functionality of open-source languages, along with the responsibility and challenges of providing enterprises with the right tools to maximize success.

As leaders in providing open-source languages and developer tools, ActiveState employees consider themselves very fortunate to contribute to precompiled language distributions that help developers work more efficiently.

“It’s a bit of a thrill to think that you’re actually putting out distributions that potentially millions of developers are going to build on top of,” said Director of Product Management Jeff Rouse.

With that excitement, however, comes the massive burden of responsibility, challenges, and careful considerations that go into making products that will be as useful for individual developers as they’ll be for enterprise-level companies.

“You can’t just send something out that’s half-baked,” Jeff said. “You know once you put it out there, tens of thousands of downloads are going out the door. You have to make absolutely sure that what’s in there is the right stuff.”

Balancing fast innovations with safety and security has been a skill ActiveState has mastered throughout nearly 20 years of distributing dynamic open-source languages Perl, Python, and Tcl, as well as developer tools such as the Komodo integrated development environment. ActiveState boasts more than 32 million downloads and supplies 97% of the Fortune 1,000 with stable, secure, and supported language distributions.

For more than 15 years, ActiveState has distributed precompiled versions of Perl, Python, and Tcl.

“The idea is we want to make one cohesive way for development teams to move forward,” Jeff said. “You don’t have to download anything else, it’s all there for you.”

Founded in 1997, ActiveState maintains a “long and proud history” in the open-source community, Jeff said. ActiveState has built development tools such as Komodo IDE and language distributions for their entire existence, along with a few other products, such as Stackato, a Platform-as-a-Service solution acquired by HPE for their cloud division.

ActiveState provides free distributions for non-commercial use but includes in-depth support, licensing, compliance, and indemnification protections for commercial/enterprise clients. Everyone may use the distributions for development and testing purposes at no charge, but commercial users must pay for production use.

“We have such depth with supporting different platforms and our main languages on those platforms. Enterprises can come to us with almost any issue and we can sort it out,” Jeff said. “Peace of mind is a huge thing, knowing they can call us and get the answers they need.”

Easy Installations of Precompiled Perl, Python, and Tcl

Unlike source packages available straight from open-source communities, ActiveState’s distributions are binary packages that are precompiled for a variety of architectures.

“You don’t have to install any compilers, and the interpreter is right there,” Jeff said. “It’s all right there, ready to go. In our upcoming distributions, you’ll be able to download Python and Komodo all in one go and literally start doing test-driven development all the way through to commits, straight into git, all without having to download anything else.”

Komodo Development Environment and Editor Conforms to Your Needs

Released around 2000, the Komodo integrated development environment is a polyglot, or multi-language, editor built on top of a Mozilla framework, according to Jeff.

“You can really take any modern language and develop it inside of Komodo,” Jeff said. “Just about any language you can think of, Komodo has built-in support.

Written predominantly in Python, Komodo integrates with major code revision platforms such as Mercurial, Git, Subversion, and Perforce.

“You can do all of your development, testing, commits, and team code collaboration inside of the IDE,” he said. “You can work it into whatever workflow you want.”

After more than a decade of focusing on Perl, Python, and Tcl, ActiveState announced in November 2016 they would more than double the number of supported open-source languages by adding distributions for Ruby, Node.js, Go, and Lua.

ActiveState will more than double their language distributions with the additions of Ruby, Node.js, Go, and Lua in 2017.

“These languages all have very active communities and enterprises that are starting to adopt them in a big way, and we want to be there to help them,” Jeff said.

As with the Perl, Python, and Tcl distributions, ActiveState will include free, open-source versions in addition to supported distributions for enterprise users.

“Our customers voiced that these were the top languages they wanted to see included in our new offering,” CEO Bart Copeland said in a press release. “We’re starting with these, but as we continue to listen to customer requests and overall market demands, don’t be surprised if you see more ActiveState language distributions released over the next while.”

Inside ActiveState’s Roadmap, Processes, and Biggest Accomplishments

ActiveState tries to release quarterly updates of their distributions, but Jeff said the process is dependent on when the open-source communities release new source packages.

“There has to be enough time for our internal resources and the team to do the best job they can,” he said. “The biggest trick is all about timing.”

ActiveState takes the new source packages and runs them against their own platform integration tests. In addition to Windows, Mac, and Linux, the company’s language distributions support Oracle Solaris, IBM AIX, and HP-UX.

After identifying any potential issues, ActiveState’s experts work in a centralized build system that handles all the languages. Jeff called the development process pretty straightforward, saying the team uses git for source control while the custom build system compiles the languages, packages, and documentation across a wide variety of platforms and operating systems.

“We feed the build system the latest community source code, see the results, make some judgment calls, and do some research, and keep refining the process until we have all the builds ready for a particular language version,” he said. “Sometimes there might be potential ramifications in the custom builds for our enterprise customers, so we have to keep those in mind as well.”

Reinvigorating Perl Development and Evolution

When open-source Perl development and support stalled as the community focused on Perl 6, Jeff said ActiveState kept the dynamic language going by continuing their distributions and support for enterprises.

“When a language stops evolving, it doesn’t mean security stops,” he said. “There’s all kinds of elements to it that still need to be maintained.”

Introducing Solutions for Package Management

Early versions of Perl, Python, and particularly Tcl struggled with package management. ActiveState responded to the challenge by building binary packages in all the different languages and operating systems so that developers could download and install the precompiled language directly from the command line.

“In recent years, Perl and Python have gotten their community versions much more sophisticated,” Jeff said. “That’s not a problem we necessarily have to solve for enterprises anymore, but for quite some time we were one of the sole ways to get binary packages of those languages.”

Dealing With Challenges to Keep Developers Innovating

ActiveState developers routinely interact with the open-source language communities to stay abreast of new features or potential bugs being introduced with each update. They balance those issues with ActiveState’s internal timelines, as well as the needs of their enterprise customers.

Recently, ActiveState made the tough decision to not include a recent OpenSSL patch. The update addressed an emerging issue, but the language experts at the Vancouver, British Columbia, company didn’t believe the issue was critical enough to hold up releases and felt the patch hadn’t seen enough real-world testing yet.

Turns out, the patch introduced a new “critical security hole,” according to Jeff. “The people working on security in the community code have an incredibly tough job, and these things can happen. By waiting for the new update, we could then provide the most secure product to our customers in a reasoned and timely fashion with greater certainty.”

Ensuring the latest builds have the best security will remain integral to ActiveState’s offerings in 2017.

Questions or Comments? Ask Laura!

Ask a question and Laura will respond to you. We strive to provide the best advice on the net and we are here to help you in any way we can.

Was this helpful? Tell Us Thanks.

Like this article on Facebook

Tweet this article on Twitter

Share this article on Google+

About the Author

Laura Stamey

Laura Stamey is a multi-talented communicator with a master's degree in web design and online communication and extensive experience creating web, print, and multimedia products. As a Contributing Editor for HostingAdvice.com, she combines her communication skills with web design experience, a passionate love for WordPress, and a strong desire to continue learning. When she's not addressing user questions via helpful how-to guides, you'll find her connecting with the folks behind companies that are powering the Web — covering their innovative technologies and the teams that engineer them.

Disclaimer: Great efforts are made to maintain reliable data on all offers presented. However, this data is provided without warranty. Users should always check the offer provider’s official website for current terms and details. Our site receives compensation from many of the offers listed on the site. Along with key review factors, this compensation may impact how and where products appear across the site (including, for example, the order in which they appear). Our site does not include the entire universe of available offers. Editorial opinions expressed on the site are strictly our own and are not provided, endorsed, or approved by advertisers.