Open-source News

Open Mainframe Project Announces Major Technical Milestone with Zowe’s Longer Term Support V2 Release

The Linux Foundation - Fri, 05/27/2022 - 00:58

Zowe LTS V2 increases product stability, security and interoperability and ensures longevity compatibility with the Conformance and Conformant Support Provider Programs

SAN FRANCISCO, May 26, 2022 – The Open Mainframe Project announced today that Zowe, an open source software framework for the mainframe that strengthens integration with modern enterprise applications, marks a major technical milestone with the Long Term Support (LTS) V2 release. The second version, which comes 2 years after the first LTS release, will offer vendors and customers product stability, security, interoperability as well as easy installation and upgraded features.

“As organizations expand their hybrid cloud workloads, the Zowe framework evolves to address critical architectural requirements,” said Rose Sakach, Chair of the Zowe Technical Advisory Committee and Product Manager at Broadcom. “Since its launch in 2018, Zowe has become a foundational enabler to businesses’ hybrid IT strategy. The LTS V2 Release will continue to strengthen this value with developer-friendly features and benefits.”

Benefits of the LTS V2 include:

  • Stability: Organizations can confidently adopt the technology for enterprise use and upgrade when appropriate for their environment, minimizing the risk of disruption.
  • Interoperability: Zowe consumers can be assured LTS-conformant extensions have adapted to and support LTS features.
  • Longevity: Zowe is designed for years of use and plans are in place for continued updates and support.

Open Mainframe Project launched Zowe, the first-ever open source project based on z/OS, in 2018 to serve as an integration platform for the next generation of administration, management and development tools on z/OS mainframes.  The Zowe framework uses the latest web technologies among products and solutions from multiple vendors. Zowe enables developers to use familiar, industry-standard, open source tools to access mainframe resources and services.

Feedback and interest in Zowe have been noteworthy. Since January 2022, Zowe has more than:

  • 130,000 downloads
  • 87,000 page views and 16,000 visitors of zowe.org
  • 520 contributors

Key features of Zowe LTS V2 include:

  • More security features built in to ensure data and user credentials are always encrypted and safe.
  • A new daemon mode delivering performance improvements for the command line interface.
  • The time to value to configure Zowe is faster and easier.
  • There is more engagement and collaboration between team members using Zowe for modern DevOps at scale.
  • New APIs created by the community

For more features, click here.

“Zowe continues to innovate as a direct result of the contributions, leadership and passion of the global open source community,” said John Mertic, Director of Program Management for the Linux Foundation and Open Mainframe Project. “Zowe shows no sign of slowing momentum and the LTS V2 release demonstrates our commitment to interoperability, stability and security.”

Other Zowe Updates

  • Zowe Chat, a new incubator project that extends z/OS use by focusing on working with mainframes from chat clients such as Slack, Microsoft Teams and Mattermost (with extensibility for other solutions). A set of commonly used scenarios will be provided, and the framework will be extensible so sites can add new scenarios. Similar to other Zowe core packages, the chat framework will be extensible by vendor tools, bringing an integrated user experience for more elaborate cross-vendor scenarios. Read more about it here.
  • Zowe IntelliJ Plugin , a new incubator project that provides access to the mainframe from IDEs like IntelliJ, PyCharm, WebStorm and more. Launched by IBA Group, the IntelliJ IDEA plug-in leverages z/OSMF to interact with mainframe data sets and USS files, which enables those familiar with these IDEs to comfortably work with the mainframe just like other projects. This integration will improve the efficiency and overall happiness of IntelliJ enthusiasts now working on the mainframe. Learn more in this blog.
  • Zowe was recognized as the Best DevOps for Mainframe Award in this year’s DevOps Dozen competition. It was selected over a number of commercial vendor offerings, reflecting a widespread appreciation for the value of an open source solution for the mainframe. Learn more.

The Zowe Conformance Program is Updated with LTS V2 Guidelines

Aimed to build a vendor-neutral ecosystem around Zowe, Open Mainframe Project’s Zowe Conformance Program launched in 2020.  The program has helped Open Mainframe Project members such as ASG Technologies, BMC, Broadcom, IBM, Micro Focus, Phoenix Software International, and Rocket Software incorporate Zowe with new and existing products that enable integration of mainframe applications and data across the enterprise.

To date, 75 products have implemented extensions based on the Zowe framework and earned these members conformance badges

Additional Resources:

About the Open Mainframe Project

The Open Mainframe Project is intended to serve as a focal point for deployment and use of Linux and Open Source in a mainframe computing environment. With a vision of Open Source on the Mainframe as the standard for enterprise class systems and applications, the project’s mission is to Build community and adoption of Open Source on the mainframe by eliminating barriers to Open Source adoption on the mainframe, demonstrating value of the mainframe on technical and business levels, and strengthening collaboration points and resources for the community to thrive. Learn more about the project at https://www.openmainframeproject.org.

About The Linux Foundation

The Linux Foundation is the organization of choice for the world’s top developers and companies to build ecosystems that accelerate open technology development and commercial adoption. Together with the worldwide open source community, it is solving the hardest technology problems by creating the largest shared technology investment in history. Founded in 2000, The Linux Foundation today provides tools, training and events to scale any open source project, which together deliver an economic impact not achievable by any one company. More information can be found at www.linuxfoundation.org.

The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see its trademark usage page: www.linuxfoundation.org/trademark-usage. Linux is a registered trademark of Linus Torvalds.

###

The post Open Mainframe Project Announces Major Technical Milestone with Zowe’s Longer Term Support V2 Release appeared first on Linux Foundation.

AmpereOne Announced As Ampere's In-House AArch64 Cloud Native Processor Design

Phoronix - Fri, 05/27/2022 - 00:20
Last year Ampere Computing announced they were designing their own in-house AArch64 server/cloud processor cores to succeed their current Ampere Altra / Ampere Altra Max processors leveraging Arm Neoverse N1 cores. The company announced today that their first in-house cloud native processor core designs will be marketed under the AmpereOne branding...

AlmaLinux 9.0 Released As Community, Free Alternative To Red Hat Enterprise Linux 9.0

Phoronix - Fri, 05/27/2022 - 00:00
AlmaLinux has been one of the distributions born out of CentOS Linux (non-Stream) going end-of-life and has made a name for itself already in the industry with companies like AMD backing it for those looking at a no-cost/community alternative to Red Hat Enterprise Linux. Just one week after RHEL 9.0 went GA, AlmaLinux 9.0 is being officially released today...

AMD Completes Pensando Acquisition For Adding DPUs To Their Portfolio

Phoronix - Thu, 05/26/2022 - 21:30
It was just last month that AMD announced plans to acquire Pensando and today that $1.9 billion deal has been completed...

Broadcom Announces Plan To Acquire VMware For $61 Billion USD

Phoronix - Thu, 05/26/2022 - 20:30
Following recent rumors of Broadcom pursuing a VMware acquisition, Broadcom announced today their intent to acquire the virtualization company for $61 billion (USD)...

Intel AVX-512 A Big Win For... JSON Parsing Performance

Phoronix - Thu, 05/26/2022 - 19:00
In addition to the many HPC workloads and other scientific computing tasks where Intel's AVX-512 performance on their latest processor proves very beneficial, it also turns out AVX-512 can provide significant benefit to a much more mundane web server task: JSON parsing. The simdjson project that is focused on "parsing gigabytes of JSON per second" this week issued simdjson 2.0 and is headlined by an Intel-led contribution of AVX-512 support.

Intel Arc Graphics Get Linux Driver Fix To Support HDMI 4K@30

Phoronix - Thu, 05/26/2022 - 17:46
While from the outside it looks like DG2/Alchemist enablement under Linux is starting to settle down with Linux 5.19 beginning to expose compute support for these new Arc Graphics discrete GPUs, beginning to add in production PCI IDs, and other refinements, the enablement battle isn't yet over...

CUPS 2.4.2 Released With OpenSSL/LibreSSL Support Restored, AIX Revived

Phoronix - Thu, 05/26/2022 - 17:26
Since last year CUPS development shifted to the OpenPrinting project with Apple no longer pursuing feature development on this long-time open-source Unix print server. That led to the release then of CUPS 2.4 and work on this open-source print server has revived. Out today is CUPS 2.4.2 with a few new features...

Linux 5.19 KVM & Xen Changes Readied For This Next Kernel

Phoronix - Thu, 05/26/2022 - 17:09
Both the KVM and Xen changes are ready to go with the other code piling on for the Linux 5.19 merge window...

Document your source code with Doxygen on Linux

opensource.com - Thu, 05/26/2022 - 15:00
Document your source code with Doxygen on Linux Stephan Avenwedde Thu, 05/26/2022 - 03:00 3 readers like this 3 readers like this

When trying to familiarize yourself with someone else's project, you usually appreciate the comments left behind that help you understand the meaning of their code. In the same way, whenever you are programming, whether for yourself or for others, it is good practice to comment your own code. All programming languages offer a special syntax to mark a word, a line, or a whole section as a comment. Those areas are then ignored by the compiler or interpreter when the source code is processed. 

Comments don't take the place of documentation, but there is a way to use your comments to produce documentation easily. Meet Doxygen, an open source tool for generating HTML or LaTeX documentation based on comments in the code. Doxygen enables you to provide a comprehensive overview of the structure of your code without additional effort. While Doxygen is mainly used to document C++, you can use it for many other languages, like C, Objective-C, C#, PHP, Java, Python, and more.

To use Doxygen, you simply comment your source code in a syntax that Doxygen can read. Doxygen then walks through your source files and creates HTML or LaTeX documentation based on those special comments. The C++ example project below will illustrate how the source code is commented and how the documentation is generated from it. The example is available on GitHub, and I will also include references to different sections of the Doxygen manual and documentation.

[ Download now: Doxygen cheat sheet ]

Install Doxygen on Linux

On Fedora, Doxygen is available as a package. Open a terminal and run:

sudo dnf install doxygen

On Debian-based systems, you can install it by running:

sudo apt-get install doxygenUsage

Once installed, all you need is a project with Doxygen-compatible comments and a Doxyfile, a configuration file that controls the behavior of Doxygen.

Note: If you stick to the related example project on GitHub, you can omit the next step.

If there is no Doxyfile yet, you can simply let Doxygen generate a standard template. To do so, navigate to the root of your project and run:

doxygen -g

The -g stands for generate. You should now notice a newly created file called Doxyfile. You can invoke Doxygen by simply running:

doxygen

You should now notice two newly created folders:

  • html/
  • latex/

By default, Doxygen outputs LaTeX-formatted documentation as well as HTML-based documentation. In this article, I will focus only on HTML-based documentation. You can find out more about LaTeX output in the official Doxygen documentation, in the Getting started section.

Double click on html/index.html to open the actual HTML documentation. With a blank configuration, it probably looks like the screenshot below:

Image by:

(Stephan Avenwedde, CC BY-SA 4.0)

Now it's time to modify the Doxyfile and add some special comments to the source code.

More Linux resources Linux commands cheat sheet Advanced Linux commands cheat sheet Free online course: RHEL technical overview Linux networking cheat sheet SELinux cheat sheet Linux common commands cheat sheet What are Linux containers? Our latest Linux articles Doxyfile

The Doxyfile allows you to define tons of adjustment possibilities, so I will describe only a very small subset. The settings correspond to the Doxyfile of the example project.

Line 35: Project name

Here you can specify the project name, which will be visible in the header line and the browser tab.

# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
# double-quotes, unless you are using Doxywizard) that should identify the
# project for which the documentation is generated. This name is used in the
# title of most generated pages and in a few other places.
# The default value is: My Project.

PROJECT_NAME           = "My Project"Line 47: Project brief description

The brief description will also be shown in the header but in a smaller font.

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.

PROJECT_BRIEF          = "An example of using Doxygen in C++"Line 926: Inclusion of subdirectories

Allow Doxygen to walk recursively through subdirectories to find source and documentation files.

# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
# The default value is: NO.

RECURSIVE = YESLine 1769: Disable LaTeX output

If you are just interested in the HTML output, you can disable the LaTeX code generation using this switch.

# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.

# The default value is: YES.

GENERATE_LATEX = NO

After every change, you can run Doxygen again to check whether your changes have had the desired effect. If you just want to check which modification an existing Doxyfile has, invoke Doxygen with the -x switch:

Image by:

(Stephan Avenwedde, CC BY-SA 4.0)

As with the command diff, Doxygen displays only the differences between the actual Doxyfile and the template.

Special comments

Doxygen reads the sources and checks each file for special comments. Based on those comments and keywords, it builds up the HTML documentation. The anatomy of the special comments can be well explained using the header file of the class ByteStream, as shown in the GitHub example linked above.

I will look at the constructor and destructor as an example:

/*! @brief Constructor which takes an external buffer to operate on
*
* The specified buffer already exist.
* Memory and size can be accessed by buffer() and size().
*
* @param[in] pBuf Pointer to existing buffer
* @param[in] size Size of the existing buffer
*/

ByteStream(char* pBuf, size_t size) noexcept;

There are different flavors of formatting a special comment block. I prefer to start the comment in the Qt-style (/*!) and add an asterisk (*) before each line. The block then ends with an asterisk followed by a forward slash (*/). To get an overview of the different style options, refer to the Doxygen manual, in the section Documenting the code.

Comments in Doxygen are divided into two sections, a brief description and a detailed description. Both sections are optional. In the code sample above, the comment block refers to the following line of code, the declaration of a constructor. The sentence behind the @brief will be shown in the compact class overview:

Image by:

(Stephan Avenwedde, CC BY-SA 4.0)

After a blank line (blank lines are treated as paragraph separators), the actual documentation for the constructor begins. With the @param[in/out] keyword, you can mark the arguments passed to the constructor, and Doxygen will make a clear argument list from it:

Image by:

(Stephan Avenwedde, CC BY-SA 4.0)

Note that Doxygen automatically creates a link to the mentioned buffer() and size() method in the comment. In contrast, the comment before the destructor declaration won't have any effect on Doxygen as it is not recognized as a special comment:

// Destructor
~ByteStream();

Now you have seen 90% of the magic. By using a slightly modified syntax for your comments, you can convert them into special comments that Doxygen can read. Furthermore, by using a few keywords, you can advance the formatting. In addition, Doxygen has some special features, which I will highlight in the following section.

Features

Most of the work is already done via your regular commenting on the source code. But with a few tweaks, you can easily enhance the output of Doxygen.

Markdown

For advanced formatting, Doxygen supports Markdown syntax and HTML commands. There is a Markdown cheat sheet available in the download section of opensource.com.

Mainpage

Aside from your customized header, you will get a mostly empty page when you open html/index.html. You can add some meaningful content to this empty space by using specific keywords. Because the main page is usually not dedicated to a particular source code file, you can add an ordinary text file containing the content for the main page into the root of your project. You can see this in the example on GitHub. The comments in there produce the following output:

Image by:

(Stephan Avenwedde, CC BY-SA 4.0)

Automatic link generation

As noted above, Doxygen automatically figures out when you are referring to an existing part of the code and creates a link to the related documentation. Be aware that automatic link creation only works if the part you refer to is documented as well.

More information can be found in the official documentation, under Automatic link generation.

Groups

The ByteStream class has overloaded stream operators for writing (<<) and reading (>>). In the class overview in the Special comments section above, you can see that the operator declarations are grouped as Writing and Reading. These groups are defined and named in the ByteStream header file.

Grouping is done using a special syntax: You start a group with @{ and end it with }@. All members inside those marks belong to this group. In the header ByteStream.h it is implemented as follows:

/** @name Writing
* Operators for writing to the stream
* @{
*/

(...)

/** @}
* @name Reading
* Operators for reading from the stream
* @{
*/

(...)

/** @} */

You can find more information about grouping in the Doxygen documentation, under Grouping.

LLVM Support

If you are building with Clang, you can apply the flag -Wdocumentation to the build process to let Clang check your special comments. You can find more information about this feature in the LLVM Users Manual or in Dmitri Gribenko's presentation, both on the Clang website.

Where Doxygen is used

Doxygen was first released in 1997, so it has been already around for some years. Despite its age, many projects use Doxygen to create their documentation. Some examples are NASA's F Prime flight software framework, the image processing library OpenCV, and the package manager RPM. You can also find the Doxygen syntax in other areas, like in the documentation standards of the content management platform Drupal.

A caveat: One drawback of using Doxygen is that it outputs HTML documentation with the look and feel of web pages from the nineties. It is also hard to depict the architecture of meta and template programming using Doxygen. For those cases, you would probably choose Sphinx over Doxygen. Download the Doxygen cheat sheet now.

This widely used open source tool can generate documentation from your comments.

Image by:

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

Documentation Cheat sheets Linux Text editors 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