It's become common practice to use open source languages to code, helping companies iterate and release more quickly in a DevOps world. However, these languages bring some challenges with them, adding complexity and risk. Developers are still wasting time on retrofitting languages to comply with enterprise criteria, according to ActiveState's annual developer survey.
The amount of time spent on programming has dropped almost 20% since last year. More than 61% of respondents spend just four hours or less per day programming — that is, actually doing their job. Developers aren't able to focus efforts on high-value work due to non-coding activities like retrofitting software for security and open source licenses after application software and languages have been built.
Another important finding is that 41% of enterprise IT departments experienced some or many problems ensuring that security is up to date with the latest or most secure version of every package. In addition, 40% experienced some or many problems building new, stable releases that behave the same as old releases.
These statistics speak to the fact that IT departments lack visibility into new security threats and struggle to track code in production for required updates, patches and new vulnerabilities. Development grabs from open source ecosystems, which consist of thousands of third-party packages that may or may not comply with enterprise security and open source license criteria. This, of course, can expose a company to application-level security vulnerabilities.
As for open source languages themselves, popularity and satisfaction aren't always connected. For daily use, developers most often use SQL (80%) — but Python has the highest satisfaction levels: 77% were satisfied or very satisfied with it.
Perhaps its satisfaction is owed to the fact that Python is quite flexible. It began as a scripting solution for sysadmins, then became useful to web development for programmers and is now the driving force behind machine learning. The language's usage continues to grow — developers clearly want to use it. So, to support this usage, organizations need to ensure their developers can do so safely and securely.
And for organizations to effectively decrease the risks and costs of managing open source languages they should implement a systematic and automated workflow: Open Source Language Automation. This workflow can be broken down into four steps:
1. Define Policies
Companies must set organization-wide open source language policies, version controls and triggers.
2. Centralize Dependencies
Track languages and packages across DevOps cycles to assess open source usage and ultimately produce a single source of truth for open source languages.
3. Automate Your Builds
Reduce vulnerabilities and increase application quality by automatically creating builds with a systematic, repeatable build process organization-wide.
4. Deploy and Manage Artifacts
Automatically update all test, stage and production servers with the appropriate and latest open source language builds.
Open source languages provide the flexibility developers are looking for, so they are here to stay in the enterprise. Using the four steps will help your organization continue to iterate quickly, but with greater efficiency and security.
Methodology: ActiveState surveyed 1,250 developers in 88 countries on what they're spending their work hours on and how they are using open source languages. Respondent ages ranged from under 25 to 61+ years, with those in their early 40s making up the largest group at almost 15%. The largest number of responses came from the U.S., Canada and Germany.