SAP Developer Code Challenge – Open Source ABAP!
The SAP Community is celebrating its 20th anniversary this year. We thought it would be the perfect time to not only commemorate the SAP Community but also honor the remarkable accomplishments of our fellow ABAP developers within the open-source ABAP community.
What is Open-Source?
Open source refers to software whose source code is made available to the public, allowing anyone to view, use, modify, and share the code. This approach promotes a collaborative environment where developers can contribute to and improve upon existing projects. Whether you are a beginner or a veteran ABAP developer, open-source gives a variety of opportunities for you.
Benefits of Open Source
Open-source can provide you with several benefits, such as having access to new tools and libraries to enhance development. These resources can save you time and effort when solving difficult problems. Another benefit is the ability to improve code quality. Because open-source is made available to the public, you can easily identify bugs and inefficiencies in the code and contribute to fixing these issues. This will not only help you but also allow you to share your expertise with others in the community.
As a veteran ABAP developer, open-source allows you to stay up-to-date with modern ABAP techniques. These projects offer you an opportunity to learn from others and see how they approach problems. Open-source ABAP isn’t a new concept. Its origins can be traced back to the SAPLink open-source project, which was the predecessor of abapGit, a project we’ve all come to know and love. In the past, instead of using GitHub, we shared our code by exchanging slinkee and nugget files. However, abapGit has taken code-sharing to another level.
abapGit is an open-source Git client developed for the ABAP server to import and export ABAP objects between ABAP systems. With abapGit, you can export your ABAP objects from any system to another, typically from on-premise to the cloud or from one cloud system to another. It makes it easier to track changes, manage multiple versions of your code, and allows you to work with other developers more efficiently, share code, and merge changes seamlessly. Over the past nine years or so, the ABAP community has invested significantly in abapGit, enabling numerous outstanding open-source projects for ABAP. It is abapGit that makes the ABAP open-source community possible!
With this month’s developer challenge, we want to do something special. We want to put a spotlight on open-source ABAP and recognize some truly useful ABAP open-source projects built by the community, for the community.
The challenge is straightforward. Each week, you will be asked to explore a specific open-source project, which will allow you to learn what the projects offer and how you can use them. Be sure to circle back to this blog post to learn about the next week’s challenge. And don’t worry, we’ll provide resources to help you along the way.
Interesting challenge entries may be highlighted in upcoming posts, videos, or live streams by the Developer Advocates; and of course, will be appreciated by the SAP Community members.
Participating in the Challenge
To participate in and complete this challenge, simply follow these steps:
- Complete the assigned challenge for each week.
- Submit a screenshot that shows you successfully completed the weeks’ challenge.
- Post this submission on the SAP Community Application Development thread.
Join the SAP Developer Code Challenge – Open-Source ABAP! thread in the Application Development Group, where we encourage you to discuss and ask questions.
The challenge will run for four weeks. These challenges must be completed and submitted to count toward the overall monthly challenge. Be sure to check back to this blog post to find out what the upcoming week’s challenge will be!
Here is the detailed timeline:
May 10th, 2023 – Start of Challenge: Week 1 Challenge
May 17th, 2023 – Week 2 Challenge
May 24th, 2023 – Week 3 Challenge
May 31st, 2023 – Week 4 Challenge
June 7th, 2023 – End of the challenge
Upon completing all submissions by the end of the challenge, you’ll receive an SAP Community badge for your participation in the SAP Developer Challenge for May. Remember to post your submissions as instructed.
Submit your final entry by June 7th, as we will begin selecting the ones we want to highlight on that date.
Let’s Get Started
Since abapGIt is required for working with any modern ABAP based open-source project, we felt that it was important to introduce abapGit in week 1 for those who have yet to hear about its features and functions.
You will get credit for this weeks’ challenge by posting the URL of your GitHub repo containing your new class in the SAP Community Application Development discussion.
We are excited to see all your submissions 😊. We hope you enjoy exploring he open-source projects created by ABAP developers within the open-source ABAP community. Good luck!
➡️ Visit the SAP Developer Code Challenge – Open-Source ABAP thread in the Application Development group to discuss, share, and ask questions.
Ever wanted to try out a blockchain integration in ABAP? There's an abapGit repo for that!
Very happy to help ABAPers dive into it for the first time and try out some other open source PoCs we built with Chainlink, sustainability and ... idocs!
why you are promoting proUBC? Do you think this is the first topic which come to the mind of people is Blockchain 😀
Feels like a little promoting.. for all those really want to have a look at open source I recommend to have a look here https://dotabap.org/
How can we be assured that the open source code does not contain security vulnerabilities?
It is good question and I leave it to others to answer.
But I will ask in response: How can we be assured that any other software does not contain security vulnerabilities? (closed source code, or SAP standard code etc...)
Sorry Tomas - I should have elaborated.
Standard SAP code has at least been tested internally by SAP and access to this code is limited to SAP.
Git is more of an open model to which anyone can contribute.
Is there a governance process around contributions or commits to limit the ability of a bad actor to inject a malicious vulnerability?
The reason I am asking is that I would like to use open source code from various Git projects within our corporate environment, but are faced with doing our own security assessment due to corporate IT security concerns/paranoia.
Given that these libraries are sometimes thousands of lines of code across hundreds of objects, not something I have the time for, nor do I want to be the one to 'guarantee' to IT security that the source code does not contain some kind of vulnerability.
I understand. I am on same boat with you. It is really difficult (sometimes impossible) to use open source in some companies. Ok 🙂 here is my limited knowledge to this topic:
There are approval processes in each GitHub repository to merge new/changed code to main branch. Every repository has different maintainer/s so it is not unified. But there should be some sort of code review of every change. And some advanced repositories have even automated checks.
At the end I am afraid there is no guarantee.
But the more popular repository it is, the less likely it will have any security issue. Because it is downloaded, used and possibly checked by many many users in many different companies.
Utterly, what is also in my mind.
Additional to that. Who should make the statement. A fair process in my eyes, if you have to make tests/assessment it is just fair to share these results with the community and make it that way more secure.
It's only fair to give back to the community when you use the community's work for your own purposes.
That's the way I try to do it.
The following blog also refers to this question:
Monthly ABAP to EXCEL Blog – January 2023
Hello no challenge this week ? 😁😁😁😁
There is 🙂 check back Wednesday