Open-source News

Firefox 106 Brings Improved WebRTC - Better Screen Sharing On Wayland

Phoronix - Mon, 10/17/2022 - 19:34
Firefox 106.0 web browser release builds are now available ahead of the official Firefox 106 announcement on Tuesday. Firefox 106 does have improvements to its PDF viewer as well as the WebRTC communication support...

Prominent KDE Developer Nate Graham Joins The KDE e.V. Board - Pitches More Fundraising

Phoronix - Mon, 10/17/2022 - 19:19
Prominent KDE developer Nate Graham who the past several years has focused on fixing many bugs and nuisances with the KDE desktop as well as being well known for his weekly "This Week In KDE" development summaries has been elected to the KDE e.V. Board of Directors. As part of the board, his platform is on fundraising more for KDE and hoping to hire more developers to further accelerate this open-source desktop environment...

Intel Meteor Lake "-march=meteorlake" Support Lands In GCC 13

Phoronix - Mon, 10/17/2022 - 18:16
After Intel posted a set of patches last week for the GNU Compiler Collection around Raptor Lake, Meteor Lake, and Sierra Forest, the two more basic patches have already been merged into the GCC 13 code-base while the Sierra Forest Xeon E-core patches and the various new instructions presented there are still undergoing review...

Arcan Project Announces The Modern & Radically Different Cat9 Shell

Phoronix - Mon, 10/17/2022 - 17:48
The Arcan project that started out as a display server built atop a game engine and with time has introduced many features and experimenting with original approaches to longstanding Linux desktop/display shortcomings, has announced their Cat9 shell. This modern terminal has been in development for nearly six years while now the developers are finally confident in announcing this initiative...

PHP 8.2 Cleared For Introduction In Fedora 38

Phoronix - Mon, 10/17/2022 - 17:19
This should hardly come as a surprise given Fedora's tendency to ship with bleeding-edge package versions, but Fedora Linux 38 next spring will offer PHP 8.2 for those wanting to run a LAMP stack on this modern, Red Hat sponsored Linux distribution...

Open source DevOps tools in a platform future

opensource.com - Mon, 10/17/2022 - 15:00
Open source DevOps tools in a platform future Will Kelly Mon, 10/17/2022 - 03:00

The open source roots of DevOps tools are undeniable, even with a prediction that the global DevOps market will reach $17.8 billion by 2026. The changing world of work, security, and compliance concerns, along with venture capital firms, are pushing the market to DevOps platforms where development teams can access a complete end-to-end DevOps toolchain in the cloud.

The current state of open source DevOps tools

Let's get one thing straight: There's no way open source tools will disappear from the DevOps world. Right now, there's a balance between open source and vendor DevOps tools, with developers using what works for them. Indeed, there are plenty of cases when a development team chooses an open source tool for their DevOps pipeline only to upgrade later to a commercial version.

3 examples of open source DevOps tools

Here are some examples of open source DevOps tools with a commercial business built around them.

Git

Git–the source code management tool–is probably one of the main foundations for DevOps toolchains serving as a source code repository.

The two best commercial examples of Git are GitLab and GitHub. GitLab accepts contributions to its open source project. GitHub is embarking on an effort to become a DevOps platform as well with the launch of GitHub Copilot–an AI pair programmer–launching to mixed reviews and criticism from some open source groups.

Jenkins

An open source automation server, Jenkins is prized for its easy installation, configuration, and extensibility.

CloudBees offers JenkinsX, an open-source solution that provides automated continuous integration and continuous delivery (CI/CD) and automated testing tools for cloud-native applications on Kubernetes. They also provide commercial support for JenkinsX, including:

  • Access to CloudBees technical expertise
  • 24x7 technical support
  • Access to CloudBees documentation and online knowledge base
Kubernetes

The growth of Kubernetes is undeniable as more organizations seek an enterprise-grade container orchestration solution. Despite criticisms about its complexity, Kubernetes

There's an entire burgeoning industry around Kubernetes, and with good reason. According to Allied Market Research, the global container and Kubernetes security market was valued at $714 million in 2020 and is projected to reach $8242 million by 2030.

More on Kubernetes What is Kubernetes? Free online course: Containers, Kubernetes and Red Hat OpenShift technical over… eBook: Storage Patterns for Kubernetes Test drive OpenShift hands-on An introduction to enterprise Kubernetes How to explain Kubernetes in plain terms eBook: Running Kubernetes on your Raspberry Pi homelab Kubernetes cheat sheet eBook: A guide to Kubernetes for SREs and sysadmins Latest Kubernetes articles DevOps toolchains today

There are still plenty of build-your-own (BYO) CI/CD toolchains in play across industries. The open source projects powering DevOps functions are still prospering,

BYO toolchains are integration-ready and very extensible, which has always been a strength for organizations continuing to iterate on their DevOps practices. The lack of a standard bill of materials might prove troublesome in enterprises seeking standardization for business, IT, and security reasons.

While the advent of DevOps platforms isn't going unnoticed, many organizations migrated their CI/CD toolchains to the public cloud well before the pandemic. The security of the toolchain itself has long been a rising concern, and public cloud infrastructure provides Identity Access Management (IAM) and other security features to control access.

DevOps platforms: Friend or foe?

A DevOps platform is an end-to-end solution that places all functions of the CI/CD toolchain into the cloud. Examples of DevOps platforms include GitLab and Harness. GitHub is also making moves to become a DevOps platform in its own right.

Advantages (even if only in the eyes of enterprise buyers)

DevOps platforms are attractive to enterprise buyers who are already comfortable with the consumption-based and subscription-based pricing of the SaaS and cloud industries. Concerns about maintenance, security, compliance, and developer productivity are certainly at the top of mind for technology leaders in this remote and hybrid work world. Standardizing on a DevOps platform becomes an appealing story to these people.

Disadvantages

Age-old concerns about vendor lock-in come to mind when depending on a vendor for a DevOps toolchain. The extensibility of development teams building and maintaining their toolchains isn't going to be quite the experience as it was when they made their toolchains from scratch, much less bringing in new tools to improve their workflows.

There are also potential economic disadvantages with DevOps platform providers. Think what might happen to an overvalued DevOps tools startup that doesn't meet its investors' lofty financial goals. Likewise, there could be smaller startup vendors that may not receive their next round of funding and fade away into irrelevance.

While the advent of a DevOps platform makes sense in many ways, it does work against the open source ethos that has helped build the DevOps tools we use today.

DevOps tools: An inflection point

Security and compliance concerns for DevOps toolchains continue to mount as working models change. It's only natural.

The changing world of work

How we work affects DevOps teams just like the rest of the enterprise. Remote and hybrid DevOps teams require secure toolchains. Changing collaboration and reporting requirements across the pipelines are also growing necessities, such as asynchronous work and executives demanding a return to the office.

Software supply chain security market

The software supply chain security market draws much attention after high-profile attacks and the federal government response. No organization has yet to blame open source for a software supply chain attack, but we're going to see an extension of DevOps/DevSecOps practices and tools to combat this threat. When it's all said and done, though, DevOps/DevSecOps tools and practices will outlast some startups that pivoted to the trend.

Final thoughts

It's far from game over for OSS projects in the DevOps space, but DevOps stakeholders have a right to start asking questions about the toolchains of the future. However, OSS DevOps projects do need to consider their future, especially in light of growing security and compliance concerns that directly impact pipelines.

There's a future of coopetition where the DevOps platform providers donate time, money, and resources to the open source tools that serve as a foundation for their platforms. An interesting example of a potential future is OpsVerse, which offers a DevOps platform with open source tools they manage for their customers.

Then again, there's also a future where the open source DevOps tools projects continue to prosper and innovate as more enterprise-built toolchains migrate to the cloud in more significant numbers.

[ Kickstart an organizational culture change. Read the first article in a series, DevSecOps: 5 tips for seeding a culture transformation ]

While the commercial DevOps tools market looks to platforms, it's time for open source DevOps tools to redefine their future.

Image by:

Opensource.com

DevOps Kubernetes CI/CD What to read next This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License. Register or Login to post a comment.

Why you should consider Rexx for scripting

opensource.com - Mon, 10/17/2022 - 15:00
Why you should consider Rexx for scripting Howard Fosdick Mon, 10/17/2022 - 03:00

How do you design a programming language to be powerful yet still easy to use? Rexx offers one example. This article describes how Rexx reconciles these two seemingly contradictory goals. 

History of Rexx programming language

Several decades ago, computers were shifting from batch to interactive processing. Developers required a scripting or "glue" language to tie systems together. The tool needed to do everything from supporting application development to issuing operating system commands to functioning as a macro language.

Mike Cowlishaw, IBM Fellow, created a solution in a language he named Rexx. It is widely considered the first general-purpose scripting language.

Rexx was so easy to use and powerful that it quickly permeated all of IBM's software. Today, Rexx is the bundled scripting language on all of IBM's commercial operating systems (z/OS, z/VM, z/VSE, and IBM i). It's no surprise that in the 1990s, IBM bundled Rexx with PC-DOS and then OS/2. Rexx popped up in Windows in the XP Resource Kit (before Microsoft decided to lock in customers with its proprietary scripting languages, VBScript and PowerShell). Rexx also emerged as the scripting language for the popular Amiga PC.

Open source Rexx

With Rexx spreading across platforms, standardization was needed. The American National Standards Institute (ANSI) stepped forward in 1996.

That opened the floodgates. Open source Rexx interpreters started appearing. Today, more than a half dozen interpreters run on every imaginable platform and operating system, along with many open source tools.

Two Rexx variants deserve mention. Open Object Rexx is a compatible superset of procedural or "classic" Rexx. ooRexx is message-based and provides all the classes, objects, and methods one could hope for. For example, it supports multiple inheritance and mixin classes.

Paralleling the rise in Java's popularity, Mike Cowlishaw invented NetRexx. NetRexx is a Rexx variant that fully integrates with everything Java (including its object model) and runs on the Java virtual machine.

ooRexx went open source in 2004; NetRexx in 2011. Today the Rexx Language Association enhances and supports both products. The RexxLA also supports Regina, the most popular classic Rexx interpreter, and BSF4ooRexx, a tool that fully integrates ooRexx with Java. Everything Rexx is open source.

Layered design

So, back to the initial conundrum. How does a programming language combine power with ease of use?

One part of the solution is a layered architecture. Operators and a minimal set of instructions form the core of the classic Rexx language:

Image by:

(Howard Fosdick, CC BY-SA 4.0)

Surrounding the core are the language's 70-odd built-in functions:

  • Arithmetic
  • Comparison
  • Conversion
  • Formatting
  • String manipulation
  • Miscellaneous

Additional power is added in the form of external function libraries. You can invoke external functions from within Rexx programs as if they were built in. Simply make them accessible by proper reference at the top of your script.

Function libraries are available for everything: GUIs, databases, web services, OS services, system commands, graphics, access methods, advanced math, display control, and more. The result is a highly-capable open source ecosystem.

Finally, recall that Open Object Rexx is a superset of classic Rexx. So you could use procedural Rexx and then transition your skills and code to object programming by moving to ooRexx. In a sense, ooRexx is yet another Rexx extension, this time into object-oriented programming.

Programming and development Red Hat Developers Blog Programming cheat sheets Try for free: Red Hat Learning Subscription eBook: An introduction to programming with Bash Bash shell scripting cheat sheet eBook: Modernizing Enterprise Java An open source developer's guide to building applications Rexx is human-oriented language

Rexx glues all its instructions, functions, and external libraries together in a consistent, dead-simple syntax. It doesn't rely on special characters, arcane syntax, or reserved words. It's case-insensitive and free-form.

This approach shifts the burden of programming from programmer to machine to the greatest degree possible. The result is a comparatively easy language to learn, code, remember, and maintain. Rexx is intended as a human-oriented language.

Rexx implements the principle of least astonishment, the idea that systems should work in ways that people assume or expect. For example, Rexx's default decimal arithmetic—with precision you control—means you aren't surprised by rounding errors.

Another example: All variables contain strings. If the strings represent valid numbers, one can perform arithmetic operations with them. This simple concept of dynamic typing makes all data visible and simplifies tracing and debugging.

Rexx capitalizes on the advantages of interpreters to simplify program development. Tracing facilities allow developers to direct and witness program execution in various ways. For example, one can single-step through code, inspect variable values, change them during execution, and more.

Rexx also raises common error conditions that the programmer can easily trap. This feature makes for more standardized, reliable code.

Arrays

Rexx's approach to arrays (or tables) is a good example of how it combines simplicity with power.

Like all Rexx variables, you don't have to declare them in advance. They automatically expand to the size of available memory. This feature relieves programmers of the burden of memory management.

To form an array, a so-called compound variable stitches together a stem variable with one or more subscripts, as in these examples:

my_array.1
my_table.i.j
my_list.index_value
my_list.string_value
my_tree.branch_one
my_tree.branch_one.branch_two

Subscripts can represent numeric values, as you may be accustomed to in standard table processing.

Alternatively, they can contain strings. String subscripts allow you to build associative arrays using the same simple syntax as common tables. Some refer to associative arrays as key-value pairs or content addressable memory. Allowing array contents to be accessed by arbitrary strings rather than simply numeric values opens up an entirely new world of algorithmic solutions.

With this flexible but consistent syntax, you can build almost any data structure: Lists, two- or three- or n-dimensional tables, key-value pairs, balanced trees, unbalanced trees, dense tables, sparse tables, records, rows, and more.

The beauty is in simplicity. It's all based on the notion of compound variables.

Wrap up

In the future, I'll walk through some Rexx program examples. One real-world example will show how a short script using associative arrays reduced the runtime of a legacy program from several hours down to less than a minute.

You can join the Rexx Language Association for free. For free Rexx downloads, tools, tutorials, and more, visit RexxInfo.org.

Rexx is arguably the first general-purpose scripting language. It's powerful yet easy to use.

Image by:

Internet Archive Book Images. Modified by Opensource.com. CC BY-SA 4.0

Programming What to read next This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License. Register or Login to post a comment.

Pages