Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
sebastian_wolf
Product and Topic Expert
Product and Topic Expert
9,809

Open-Source ABAP is still a mystery to many people in the SAP ecosystem. Yes, of course you can read the complete source code of an ABAP system, but as essential elements of the four essential freedoms of open source are lacking, it’s more source-available than open source. In addition, even with abapGit that celebrated it’s 10th birthday just recently, the ABAP Open Source community is still relatively small compared to other development environments or programming languages. But that doesn’t need to stay this way. In-line with our SAP Open Source Manifesto, we want to contribute to the growth and wellbeing of the ABAP Open Source ecosystem.

One challenge to this ecosystem has always been the very specifics of the ABAP programming language and its development environment. Traditionally, ABAP open-source artifacts were published with their names belonging to the customer namespace, i.e. beginning with a Y or Z. However, this was prone to naming clashes and subject to other challenges which rendered such open-source applications second-class citizens in an ABAP system. ABAP namespaces solve these issues, but they are not designed to be shared across companies or between independent developers. As abapGit supports namespaces, it was just logical that the community asked for dedicated ABAP open source namespaces with all necessary freedoms to work on such artifacts in a distributed way.

In response to the suggestions and feedback from our community, SAP made dedicated ABAP Open Source Namespaces available this year. We list them on GitHub, including the development and repair keys for DEMOSYSTEM installations like the ABAP Cloud Developer Trial. Of course, the list of already existing namespaces is also available in the Development Namespace Application. This is also the place where you need to create keys for your own systems. 

If you would like to create an own namespace for an open source project, please reach out to the SAP Open Source Program Office via e-mail. We’ll be happy to get your project onboarded. If you have any questions or feedback regarding ABAP Open Source Namespaces, feel free to post a comment here or reach out to us via e-mail.

Edit Aug 12: First link for the namespaces goes to GitHub now (instead of the Development Namespace Application). Plus: Some minor text adjustments. Thanks to @Jelena_Perfiljeva for the suggestion!

12 Comments
guillaume-hrc
Active Contributor

Nice!
Good job.

FabioPagoti
Active Contributor

Hello @sebastian_wolf and SAP open source team,

As a former member of SAP Code Exchange which was shut down in maybe less than 2 years back in 2011 without SAP caring if there was replacement for it (there was not) or without caring about the community feedback (which it was awful)...

As former user and enthusiast of SAP Build (aka SAP Build Classic) which was born as an Open Source project in 2015 and became an amateur commercial and non-saleable product after a few months until SAP decided to sunset it (again, without real replacement up to the present day)...

As an SAP community user who started likely one of the biggest campaigns in SAP Community in 2020 to make SAP Build Open Source again. The same campaign which was by the way completely ignored from product team and from the trending section in SAP community home page despite making almost a hundred people (including SAP customers) support the cause in the comments section - likely one of the blog posts with more comments in the last 5 years of the community...

As an investor and businessman who was one first people in the world who could access the HANA Express Edition and helped founding a startup from scratch (as part of the SAP StartUp Focus Program) which believed that SAP would keep its commitment to have this HANA edition available for many years to come - it was removed from all major cloud marketplaces as soon as the HANA Cloud trial became available in BTP.

As someone who could see some day the Editable ALV driving or going to jail as it turned 16 years old now without having an official/standard fix despite many open source contributions that solves the main issue...

As a SAPUI5 developer - which is now being recommended to create Fiori Elements apps instead of freestyle apps - funny fact: Fiori Elements (at least its important parts) are only available in SAPUI5 and not in its Open Source brother OpenUI5...

As a former user of the old miniSAP editions which were abandoned dozens of times.

As a developer who have to rely on companies providing non-official and suspicions SAP access in order to keep learning recent innovations in the technology, specially ABAP-related, due to the lack of decent and frequent releases of ABAP trial platform for so many years.

As a heavy user of the ABAP trial 2022 edition which was released just a few months back when in reality it should have been released 3 years ago...

I really, I mean... I REALLY appreciate SAP's efforts of making the open source community grow and I am very confident, I mean... I AM TOTALLY CONFIDENT this time SAP's word and commitment is for real and how crucial its decisions and actions are to embrace the open source cause like having a manifesto.

I just would like to share a few non important feedbacks I have which likely will be ignored anyway. I am pretty sure that the items below will not be the reason for this initiative fall apart. 

1) The  ABAP Open Source Namespaces is documented in a private website

https://me.sap.com/namespaces/opensource is not a public website

For a user who does not have a S-user, this is what happens when they try to access this page

FabioPagoti_1-1722563096121.png

 

For someone who has a S-user, this is what happens

FabioPagoti_2-1722563141879.png

But this is not big a problem - like SAP, I am sure all developers have an S-User. Specially one with rights. Of course they also know their password and never blocked their users from time to time.

2) The list is also in GitHub, but please send an email

So there is a new feature in GitHub called a Fork.
There is also a very advanced technique only reserved for G-Users (Pro GitHub users) which is called a pull request.

Without that very advanced knowledge, let's make people send an email to request a new namespace. That sounds really reasonable. Can I send this request in an EDI message or via smoke signal instead?

3) There are no specific requirements... via email... get the namespace approved and created

According with the 'Requirements and Setup' section in GitHub:
There are no specific requirements for the request of a new ABAP Open Source Namespace. As outlined in the official documentation, please reach out to the SAP Open Source Program Office via e-mail and mention a few details about your project to get the namespace approved and created.

  • So what are you exactly evaluating based on the e-mail? What will happen if I send an proposal for an editable ALV? Will I be punished? 
  • What if I copy SAP objects and make them better? Will you merge my changes in the SAP standard code? (hopefully not - I don't want to write SAP notes)
  • Should I already have some code to send you beforehand or should I explain what I am willing to create in my free time and let the future decide if I can make it?
  • Can I request the /SAP/ namespace?
  • Can I request the /ABAP/ namespace?
  • Will you decide what should be my namespace? I mean, as it should be open source, it should be our namespace in the end

4) In order to use a open source project productively, I have to register it. With my super powerful S-user!

To use open source projects with their namespaces in a productive system, I have to register them in 
https://me.sap.com/app/namespaces

Of course. That is not a big deal. I will never need to ask for approvals and justify why I am creating stuff in the system which belongs to a weird and not-purchased namespace.

This will be as easy as making an editable ALV using CL_SALV_TABLE. It does not make it harder to use open source projects in production. Importing a Z include by copying and paste is actually way harder than that.

5) How can I track usage of a project?

So I overcame all those small barriers covered previously and created a successful open source project. How can I know if my project is being used in production and who is using it? The question here is will SAP share this data (and why not)? I could mention the entire manifesto to reinforce why that is a must have.

6) How can someone create an open source project which solves a business problem/product limitation?

Last but not least, what if I'd to create an awesome Open-Source project which is tightly coupled with a given module (let's say Sales and Distribution)? What should I do to have access to a system where I can see and use the existing tables, functions, classes etc?

There is a catch here - I don't want to become an SAP Partner and pay for a namespace in the end. It's too much expensive and price is not fair as the manifesto suggests. I want to be happy, eat candies without having dental decay, live 200 years and embrace the open source world together with the awesome SAP.

How the manifesto says:

Empowerment through Openness
By making essential parts of our development platform, frameworks,
and tools open, we strive to empower communities, customers, and
partners to build upon our work, creating solutions that benefit all

and..

Clear and Fair Licensing
We use standard and fair licensing for our open-source projects to
ensure they are easy to use and contribute to.

Given that, what steps should I take to make that happen? I wish there was an answer for that as detailed as possible here but I could bet there isn't any.

Imagine another scenario. I just would like to create a Custom Analytical Query which it does not exiting in S/4HANA which I'd to make it open source. What should I do?

Just another one: I would like to create a Fiori app. Back end in SAP On prem/cloud in ABAP and SAPUI5 app easily deployable in BTP for those who have it. Why can't customers search for such kind of solutions in Cloud Foundry marketplace?

There is a reason why all open source projects created so far using ABAP are aiming tech stuff and not real world problems from the business perspective.

=========

Sorry for long comment - I know things are not that simple and I am not blaming anyone personally. However this seems the kind of (re re re)initiative that feels pretty much like any government announcing a benefit which is snatched until you understand that in order to get something free you have to pay twice the price it would cost if it wasn't free.

I really wished that by the time some announcements were made on this area some very basic questions would already be answered and that stuff in general would be easier for anyone new on the topic to understand.

serkansaglam
Active Participant

serkansaglam_0-1722599716701.png

Not able to see the card (logged as S-user). Not able to request the required authorization. 🤔

sebastian_wolf
Product and Topic Expert
Product and Topic Expert

Hi @FabioPagoti,

first, thank you very much for your detailed feedback. Before diving into specifics, I’d like to ask if you are interested in a personal exchange? Perhaps through a call or a similar setup, so that we can discuss your points in detail. This would help us to address your concerns more effectively. I’ll send you a short PM to exchange e-mail addresses.

While I can’t comment on the business decisions and related aspects you’ve mentioned, I certainly would like to address your points:

  1. All relevant documentation on Open Source Namespaces is now also available on GitHub. The list on me.sap.com is mirrored there, as well as the content of the referenced Support-PDF. But yes, access to the Development Namespace Application is subject to a certain authorization profile, see https://support.sap.com/content/s4m/help/access/user-admin-concept.html?anchorId=section (Authorization concept, page 2, Reserve Namespaces), but this is not necessary for requesting Open Source Namespaces.
  2. We chose e-mail because of simplicity and to facilitate direct conversations with requestors. We are testing the waters first, so to say. If this initiative is successful, we will improve the workflow accordingly, e.g. by using issue templates, pull requests etc.
  3. We check if the request is legitimate, i.e., that there is actually an ABAP open source project behind this request, if the prefix isn’t already taken, doesn’t infringe copyright/trademarks/other guidelines and can be related to the project itself. Some existing code or an initial release are certainly a big plus, but you need a project repository URL with some information about the project that we can reference. As said, we are testing the waters and need to see where this leads to. Standard SAP objects are usually subject to a non-open-source license agreement, which means that you are not allowed to re-distribute them, I’m afraid. So, please check the license and act accordingly.
  4. The behavior for open-source namespaces and traditional namespaces is not different here. In the end, it’s up to the open-source developers if they want to switch to a namespace or stick to the Y/Z customer namespace after they have carefully considered the pros and cons.
  5. The namespace registration data is confidential and will be processed in accordance with the relevant regulations.
  6. We can discuss options for the scenarios that you depicted – and the way to more open source coming from SAP – in a personal meeting.

Looking forward to continuing the discussion!

Best regards and have a nice weekend, Sebastian

sebastian_wolf
Product and Topic Expert
Product and Topic Expert

@serkansaglam You don't need to access this portal to request an open source namespace. See our GitHub page for more details or send us an e-mail to ospo@sap.com 

MichiFr
Participant
0 Kudos

So what are you exactly evaluating based on the e-mail? What will happen if I send an proposal for an editable ALV? Will I be punished? 

LOL, this is a burner, like it very much.

What will Paul Hardy aka @hardyp180 say, International Editable SALV Day 2024 – Year 16 

Jelena_Perfiljeva
Active Contributor

@sebastian_wolf  You might want to give this post more visibility. I stumbled upon it only after it was mentioned in SAP Developer News, which I normally don't watch. But someone mentioned "ABAP Open source" on LI, so I followed the breadcrumbs here.

I doubt many people visit SCN these days and can easily see new blog posts. My RSS feed didn't pick up on this post because it's not tagged with "ABAP".

It might also make sense to make the GitHub link more prominent. My first reaction was "there is open source namespace list and SAP puts it on 'me' website that needs SID? Grrrrrreat". 🙂 Only after reading the comments I noticed GitHub link was in the text. (As a side note, GitHub should be primary source. If SAP wants to make a copy on 'me' website, you don't even need to tell us, who cares.)

I nodded along with @FabioPagoti post, no wonder it already got whopping 23 kudos. It's a brutal depiction of state of SAP developer ecosystem and all the frustration building up over the years. I hope this initiative doesn't end like one of those things Fabio mentioned.

Cheers.

Amaury_Van-Espen
Active Participant

Amazing ! 

sebastian_wolf
Product and Topic Expert
Product and Topic Expert

@Jelena_Perfiljeva Thanks for your suggestion, already did a small update to the blog post. Any suggestions on additional publications? LI promotion was already done as you said... I have a DSAG session in my calendar for later this year, but beyond I also didn't want to overstretch things. Probably it's better to be a bit more humble at the moment...

That also relates to the feedback from @FabioPagoti and others. Yes, you could literally feel the frustration in every line of the comment. I will do the best I can do in my position to improve things - step by step. That goal was actually one big motivator to make ABAP Open Source Namespaces a reality.

Jelena_Perfiljeva
Active Contributor

@sebastian_wolfWell, it got a shout-out in our newsletter, so let's see if it helps. 🙂

Agree on "humble", probably "soft opening" is better. I'm wondering if some session could be arranged for ASUG as well.

Dear SAP Team,

first of all, a heartfelt thank you to everyone working on this initiative.

If I may add to what has already been said. And pardon me if this not the best place, but I think it is super important, that if SAP wants to truly go from source-available to open source, SAP starts to open the information available (until now) exclusively to S-Users in the SAP Launchpad/Me.

I have a P-User, as well and from time to time check it, but even though I see some improvements, it is still really really limited.

As an Idea and a humble request, SAP could create a Developer Program with an (X?)-User, as a limited version of the SAP Partner Program (and especially, with an affordable/accessible cost), similar to what RedHat has in its "DevelopersRedHatDotCom" for example. Not only we need the access to software, licenses and most importantly the SAP Notes, but it is important to have this information easy to find and centralized in one single place, which is the SAP Me, instead of a long list of Blog posts.

I'm not expecting SAP to open all functionalities that an S-User may have, but a limited and/or read-only option to see Notes that impact the components of an ABAP Development Version (or at least some of them) is really important and would go a long way into making SAP really open-source.

I hope this would be read as a contribution for improvement and not as a critique. I am really very grateful for all the effort put into bringing us Development Versions and Open Trainings along the years. THANK YOU AGAIN!

sebastian_wolf
Product and Topic Expert
Product and Topic Expert
0 Kudos

@eloibermejo_spirit21 Thanks for your great feedback. Sounds like something we should check and follow-up. We'll have some discussions internally to see what we can do here.