Training Proposal

Abstract

Apache Training aims to be a project dedicated to developing resources which can be used for training purposes in various media formats, languages and for various Apache and non-Apache target projects.

Disclaimer

In this proposal we refer to the “Training project” because initially it was unclear whether this would be an Incubator project, a TLP project or a central service. We decided to go the Incubator route.

This proposal is a bit different than most because it does mostly start from scratch. So there are a few things yet undecided (e.g. Github usage). We expect to discuss these issues as one of the first things after establishing this project.

Proposal

The purpose of the Training project is to create high-quality training material for various projects in an open source form. Up until now everyone who wants to offer a Training course for one of the Apache projects needs to create her or his own slides/labs and keep them up-to-date. This is a significant investment of time and money. This project aims to spread that burden and help all Apache projects as we can create shared resources and we can also create cross-project trainings.

To sum up, the main goals for this project:

  • Develop shared material that can be used for trainings
    • Cross-project
    • Focused on Apache but also 3rd party projects where it makes sense
  • Develop “labs” or “hands-on” exercises
  • Develop or document an infrastructure that can be used for those labs
  • Potentially develop tools to manage the material (e.g. a “slide” repository that contains “modules” that can be easily reused and combined)

These are non-goals for this project:

  • Some kind of official “Apache Training Program” with certifications etc.
    • Based on feedback and future developments this may change but we believe it’s out of scope initially
  • Project documentation

The training material we develop is not necessarily self-explanatory. It still benefits from an experienced instructor but it will make it possible for talented people without the time and resources to develop material to still train others.

Rationale

There are tons of companies offering training for and around the Apache ecosystem. From our experience everyone is building a very similar set of slides and labs (there’s only so many ways you can explain a concept). This project aims to create and use synergies. By also bringing these resources closer to their origin we hope to improve quality, freshness of the content and versatility (e.g. more language options).

It is the mission of the Apache foundation “to provide software for the public good” and we believe this project can help with that mission by making the software more accessible for a broader audience.

Initial Goals

The initial goal for the first few weeks or months is to have discussions and agreements on various scoping and technical issues as well as integrating existing donated material.

After that we want to start building a library of content.

Current Status

This is a bootstrapped project. While there is some initial material to contribute there are no processes, no community and no decisions yet.

Meritocracy

We value meritocracy and we understand that it is the basis for an open community that encourages multiple companies and individuals to contribute and be invested in the project’s future. We will encourage and monitor participation and make sure to extend privileges and responsibilities to interested contributors.

This project will differ from most other Apache projects in that its focus is not on “source code” in the traditional form but in “content”. This is not totally unprecedented (e.g. Infra, Conferences, Marketing, Legal, Brand, etc. are all services within the ASF) and fully within the goals of the Apache Foundation.

Community

As this is a new bootstrapped project there is no existing community to build on. Based on initial feedback from the mailing list and discussions with various companies there is however a broad interest in collaborating in this area so we hope that a new community will quickly grow and establish.

Core Developers

This proposal originated as an idea from people from the two companies inovex and OpenCore which are listed below as initial committers but we hope to gather more (even during the discussion of this project itself).

Alignment

The Training project is purely an “integration” project aiming to support all other Apache projects. There might be some overlap with the Community central service as well as the newly established “Design/Creative” central service.

Known Risks

Orphaned products

As this establishes a brand new project there is no history to look at. OpenCore is committed to Apache and its members have a decade long track record of contributing to Apache projects. In addition to this we believe that the Training project relies much less on a single company than most other Apache projects due to its broad scope. Due to the expectation of companies directly benefiting from this project we expect at least a moderate level of interest / involvement from multiple companies (training and otherwise) that should hopefully help share the burden.

Inexperience with Open Source

One of the initial committers is an Apache committer, member and Incubator PMC member. We additionally have multiple long-term Open Source and Apache contributors on board. They will work with other community members to teach them the Apache Way.

Homogenous Developers

There is no single dominating entity and we expect to start with members from various companies, backgrounds, countries and hopefully genders.

Reliance on Salaried Developers

It is expected that Training development will occur on both salaried time and on volunteer time, after hours. Realistically probably leaning towards salaried time. Since the general idea is that this material may also be used by professional training companies and thus generate revenue for these companies we expect a realistic chance of salaried work in maintaining and updating these materials.

Relationships with Other Apache Products

The whole goal of this project is to provide a service for all other Apache (and some non-Apache) projects. As such it doesn’t make sense to list them all. The initial contributions will be around the big data space but we are in no way limited to those projects and welcome contributions for all kinds of projects.

We don't see any overlap with existing projects and every project could still opt to create its own material if they so desire. We would not force any project to use the provided resources so we see little risk here.

Excessive Fascination with the Apache Brand

This proposal is not for the purpose of generating publicity. We are applying to the Incubator or the Apache Foundation at large because we think it is the next logical step for us as companies (OpenCore, inovex) and for the topic at large as outlined in the Rationale section above. We have a long history of contributing to Apache projects, improving documentation, reviewing books about Apache projects, giving talks etc. For us this is about working together on something in the open that we have done behind closed doors so far.

Required Resources

Mailing lists

  • private@training[.incubator].apache.org

  • dev@training[.incubator].apache.org

  • commits@training[.incubator].apache.org

The project may also create a user mailing list, if needed.

Source Control and Issue Tracking

The Training project would probably use Apache’s gitbox integration to sync between github and Apache infrastructure. Whether the project would use a Jira or something else is still to be decided in the projects early days.

Current Resources

None, apart from the donations outlined below.

External Dependencies

None, for now that is. We expect to build up a technology and content stack as part of this project.

Cryptography

We do not expect “Training” to be a controlled export item due to the use of encryption.

Source and Intellectual Property Submission Plan

Companies willing to donate content and code are welcome to do so. OpenCore and inovex will initially donate their material. This is currently closed source and will be donated via the “normal” ways (e.g. Jira patches or Github pull requests, license grants etc.)

Initial Committers

  • Lars Francke (larsfrancke at apache dot org, OpenCore)
  • Sönke Liebau (soenke.liebau at opencore dot com, OpenCore)
  • Frank Marmann (frank.marmann at inovex dot de, inovex)
  • Marcel Spitzer (marcel.spitzer at inovex dot de, inovex)
  • Collin Rogowski (collin.rogowski at inovex.de, inovex)
  • Hans-Peter Zorn (hzorn at inovex dot de, inovex)
  • Justin Mclean (justin at classsoftware dot com)
  • Furkan Kamaci (furkankamaci at gmail dot com)
  • Sharan Foga (sharan at apache dot org)
  • Craig Russell (apache.clr at gmail dot com)
  • Kenneth Knowles (kenn at apache dot org)
  • Dmitriy Pavlov (dpavlov at apache dot org)
  • Christofer Dutz (christofer dot dutz at c-ware.de)
  • Jim Jagielski (jim at jagunet dot com)

Champion

Lars Francke (larsfrancke at apache dot org, OpenCore)

Nominated Mentors

  • Lars Francke (larsfrancke at apache dot org, OpenCore)
  • Justin Mclean (justin at classsoftware dot com)
  • Craig Russell (apache.clr at gmail dot com)
  • Christofer Dutz (christofer dot dutz at c-ware.de)

Sponsoring Entity

The Incubator PMC

  • No labels