24
Tue, Dec
1 New Articles

Open-Source Adoption Hurdles Are More Organizational Than Technical, Part 2

Programming - Other
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Issues surrounding enterprise adoption of open source must be carefully considered.

Part 1 of this two-part series reviewed challenges such as mindset, IBM's stake in open source, business reasons for adoption, and communications issues that could stand in the way. Part 2 explores myths about open source, tips for getting started, common pitfalls, and the impact of open source on application development.

In Part 1, we introduced three experts on open-source technology on the IBM i and asked them a number of questions about challenges to adopting open source on the platform. Interviewees consist of Pete Helgren, a Java software developer for Bible Study Fellowship International (BSF); Jesse Gorzinski, an IBM business architect specializing in open source; and Alan Seiden, principal at Seiden Group, a consulting company that helps IBM i users modernize apps, adopt open source, and resolve issues with its use.

There are several popular myths about open source that need to be debunked. The top one is poor security.

"At one point, there was this pushback from proprietary software developers that open source was inherently insecure. The answer to that is no," Helgren says. "It's no more nor less secure than any other solution, whether it's proprietary or not. The good news on open-source development is that you've got access to the source code, so if you've got concerns about a certain component, how it's communicating to the outside world, and what security it has around it, then you just have to dig into the code and take a look at it."

"People are already scared about open-source security because any security vulnerabilities are published and discussed, and the fixes are also discussed," Seiden notes. "People are aware of security with open source, but that also means there are more people taking a look at correcting any issues."

"If you look at some of the keystone open-source projects that are security-focused, projects like Open SSL or Name Service Switch, not only do you see huge investments through things like the Core Infrastructure Initiative, founded by the Linux Foundation, you see huge investment from other Fortune 500 companies," Gorzinski elaborates. "We've been kind of trained to think otherwise through pop culture and movies. If the other team knows your plans, then you're somehow exposed, and people transpose that to code."

The actual reality, Gorzinski says, is that "you see money behind things like Bug Bounties, where they actually pay people to find weaknesses and vulnerabilities in the code, and all these things together mean that the software is very secure. Another interesting thing to look at is who is first to adopt the latest security protocols and the latest cipher suites. You'll find that those are the open-source projects."

Another myth is that open source is too hard to learn.

"Some might fear that a new language has too large a learning curve; it's going to be expensive to get everybody trained up. The licensing is too complex," Gorzinski opines. "It's not stable enough, or it moves too quickly. Unfortunately, misperceptions can make it seem like the costs outweigh the benefits, but those are all myths. Open source is well worth the effort or we wouldn't be seeing the lion's share of Fortune 500 companies creating, adopting, or distributing open-source software."

A myth Gorzinski particularly wants to quash is that open-source code is somehow free of charge.

"You will want some oversight to make sure you're complying with open-source licenses, [and] you will need to build new skills, possibly in a variety of technologies," he highlights. "You're probably going to want a support contract in place. That being said, open source is certainly going to be very cost-competitive, but it's not free. Companies need to acknowledge this and plan accordingly. Adopt open source for the many benefits that it brings—cost-competitiveness, help with hiring, access to all kinds of new technologies and new capabilities."

Tips for Getting Started with Open Source

There are two tracks to getting started. The first is getting your feet wet as a developer unfamiliar with the technology. The second is the track if you're a business thinking about implementing open source as part of its solution set.

The path for developers is simpler, according to Seiden.

"I would start by asking what they wanted to do, what they'd like to do. Pick a use case, because speaking generically, it's like asking 'How do I start programming?' I think it's always good to start by challenging yourself with a 'proof of concept' or some kind of little project you'd like to accomplish.

"A developer could write some open source and post it," he says. "If an RPG programmer with more than a few years to go in their career doesn't learn open source, then some of the newer projects may go to another team. By at least being familiar with open source, the RPG developer who may run across it may be able to work on some interesting new projects."

Seiden suggests developers work with open source on their personal PCs, offline from company systems at first. That way, developers don't have to get permission to run something on their use case, environment; they can run it on a PC and gain experience first. "You'll find easy instructions online if you get started on your PC at home."

"The trend that I see is that more and more people are self-taught through the Internet," Gorzinski shares. "When I started programming Python as a new language, it's my own personal learning style but perhaps this is a common way to do it. I started running Python, so I googled 'show me a Python Hello World.' I found that, and I got it to run. Then I googled 'How can I interact with Twitter from Python?' and boom, I found a package that did it, and I found some code samples, and then I typed them up, tweaked them for what I wanted to do, and it was working. I just started googling all these things that I wanted to do, and in the process of doing that, I started learning the actual language of Python."

He concludes with the admonishment to not be shy. "If you run into questions, ask people. Join our open-source chat, follow some of our hashtags on Twitter. There's a group on LinkedIn, there are of course midrange mailing lists, there's all kinds of ways for you to connect with the community around you. So don't be shy. Don't think that it needs to be this solitary effort, because the help is around; just start asking people."

For businesses, the to-do list is a bit longer. Whether or not a business adopts open-source technology depends on a number of factors.

"It basically has to do with the business that they're in, the amount of technology they want to leverage, and how quickly they want to move," Helgren observes. Companies have to decide first "Are we going to be a consumer of open-source solutions or are we going to be a developer of open-source solutions? So that's also an issue of the company and what their reason for embracing open source is." He also warns that companies need a system to manage the complexities, particularly if multiple applications are talking to each other across multiple platforms.

"You need to do due diligence on the quality of the code that you're adopting," he adds. "You need to have some sort of process of vetting the code, examining the code, and making sure that what you're implementing is stable and secure. We've taken that for granted in the IBM i world. Then you have some additional work to do in terms of vetting what you're doing, which opens up an opportunity for basically inheriting somebody else's problems. But it can also speed your development. Trying to find a balance there is always a challenge. There also needs to be communication between the microservices that may be in the same single stack, although that's usually handled by a services bus of some kind."

"A company could be seeing new business requirements that are mostly addressed with open source," Gorzinski observes. "It could be working to grow their development team. Maybe they have modernization goals that involve web stuff, mobile, REST APIs, or microservices, and open source can help with any of those things."

Another issue is what tools to use to work with open source and whether or not to standardize the tools the developers at a given company should use.

"People don't always know which tools to use for their open source, which is understandable," Gorzinski says. "Even with something as basic as a file editor, you have dozens of choices. For example, at one point, SEU was the editor for RPG. That was it, end of story. So people didn't have to think about what tool to use. Then eventually IBM replaced SEU with Rational Developer for i, which is today the best tool. Now, open source for many of these tools brings many choices. 'We want everyone using the exact same tools,' some companies say, while others say, 'We want everybody to choose their own favorite.' Honestly, I don't know which of those approaches is better."

"One challenge people face is they find so many different resources when they're searching that they don't know what to trust," Seiden points out.

Another pitfall he mentions is that unless "you're used to working with code that resides on the IFS rather than in source members, it might be that developers will need to get used to a development workflow that is based on the IFS and uses some sort of source control technology, such as Git."

"Another thing that companies need to be aware of if they adopt open source is that you need to be very proactive about keeping the software up-to-date, to make sure you have the latest security fixes and features and so on," Gorzinski warns. "We have companies who are using open source now that say, 'Once a week we're evaluating whether there's a new release of say Python or Node.js or whatever it is they're using—do we need to install that? Do we need to put that on our development partitions? Do we need to roll that into production?'"

"Keep an eye on the versions because they sometimes are updated more quickly. Very quickly," Seiden echoes.

"Check the licenses if you're planning to resell" the software you create is Seiden's next piece of advice. "Every open-source package comes with a license file. For anyone planning to resell that component, there may be specific terms to take into account, such as sometimes a requirement to give back to the project."

"Recognize that what's at stake is the need to add other technologies to the mix that are open and cross-platform technologies too," Seiden adds.

The Culture of Open Source

Not only can open source have an impact on an enterprise's culture, it's having an effect on the culture of application development as a whole that needs to be recognized.

"The thing that we kind of take for granted and we don't put enough emphasis on, I think, is the community aspect of open source," Helgren says. "In this increasingly social-network-focused world where communication is all electronic, we start missing out on the human element of the way we go about interacting with each other. Rather than learners, we've become folks that just find answers, and so I think in general it's affected the quality of software development but it's just reality now."

On the other hand, Helgren thinks IBM does its share to overcome this problem.

"I don't know of any other place on the planet where a company, as big as IBM is, at which you can get to know as many people in the IBM ecosystem that develop not only the hardware but the software that you work on every day. I mean, I don't know anybody at Microsoft. I don't know anybody at Amazon Web Services, I don't know anybody in a lot of companies as well as I know the folks at IBM, because they make themselves available to the community."

"I think there are some key differences in how people find information," Gorzinski says. "Generally speaking, open-source users want example configuration files, code snippets, tangible things that can solve their problem quickly. They don't want to go read a three-inch reference manual, they don't want to consult a comprehensive resource, if you will, like Info Center. They expect a web search to give them relevant hits on social programming sites so you can think of stack overflow and the like. But it even gets more practical than that, because if you're an open-source programmer, you need to learn how to use an API that you've never used before. GitHub and other hosting platforms let you search the source code for millions of other projects. With that approach, you can quickly see other working examples in real applications."

"I think community is important," Seiden remarks. "Community is woven into the philosophy of open source. People would do well to even attend some local meet-ups if they have some, or online meet-ups, or conferences like the RPG and DB2 Summit Conference. IBM has a post on Bitbucket about how to get started. There's a midrange open-source list. There's a Ryver site."

Look First, Then Leap

Clearly, the decision to adopt open source, both for developers as individuals and for enterprises seeking a new path for software solutions, isn't trivial. For companies in particular, there are many aspects to consider: not just the if, but the why and the how of adoption. While we've touched on a number of issues here, the question clearly deserves more thought as week as some planning if you think your enterprise should take the plunge.

What seems clear is that open source on the IBM i platform is influencing a process of convergence with other platforms toward a future that looks more community-oriented than ever and less of a venue for the rugged individualist. Code reuse, once a shortcut for the developer to mirror functions from one personally written application to another, takes on a whole new meaning in the open-source environment. Why reinvent the wheel when you can simply borrow someone else's design and modify it? The nature of programming itself seems to be sliding toward a reorientation. The real question everyone has to answer is whether to participate and reap the benefits or to maintain the long tradition at some shops of the IBM i holding itself in a relative state of splendid isolation.

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: