The Apache Software Foundation Blog

Monday May 20, 2019

Project Perspectives: Apache Weex (incubating) and The Apache Way

by York Shen, member of the Apache Weex Project Management Committee 

I am a Project Management Committee (PMC) member of Apache Weex (Incubating), a cross-platform mobile development framework, widely used in many mobile apps, among top of which have nearly 0.7 billion MAU (Monthly Active Users). Weex became an Open Source project in early 2016 and entered the Apache Incubator in December 2016. As a PMC member, I have been with the project from beginning to today; it is an exciting journey mixed with challenge and suffering, and the journey is not end yet. 

Challenge

"This is not the end. It is not even the beginning of the end. But it is, perhaps, the end of the beginning."
–Winston Churchill

As The Apache Software Foundation (ASF) divides its projects into two types, namely Top-Level Projects (TLPs) and Incubator projects (known as "podlings"), joining the Apache Incubator is not the end. Instead, it is just a beginning.

Community

As a project under the ASF, Weex should and would do things under The Apache Way. But as one might imagine, there are a few problems Weex has to solve:

It is said that "If it didn't happen on (a mailing) list, it didn't happen". As Weex was developed by Alibaba Inc. and donated to ASF, it is not surprising that some contributors and committers of Weex are full-time employees of Alibaba Inc. For example, there were many internal IM and face-to-face communications, which is not an an endorsed way of project management and operation under The Apache Way. Also, many Weex contributors and users are Chinese, and they preferred Chinese to communicate, report bugs, and write documentation, which is also not typical under The Apache Way.

Engineering and Product

There are some technical issues due to the feature of Weex:

As both Android and iOS system are upgraded each year, their features and APIs also get updates each year. Weex is a cross-platform framework and designed to provide mobile feature with front-end technology, which means that it is not a easy task to map these Java (for Android system) and Objective-C (for iOS system) APIs to front-end world. Yearly updates of these systems makes it even harder.

Users of Weex are mainly front-end engineers while the project’s contributors and committers are Android and iOS developers: there is a technological stack gap between users and Weex contributors.

The active committers of Weex are not enough: it is difficult to maintain a project that provides Operating System API with about ten active committers.

Weex Way

Open Source is more than just code.

Weex has two repositories: one from before its donation to the ASF, and the other is after that. There are are nearly 30 thousand stars on GitHub among these two repositories: what an exciting number! But Open Source is more than just about code.

Community

Community Over Code.

Currently, most Open Source projects will adopt one of the governance structures:
  • BDFL (benevolent dictator for life)
  • Meritocracy
  • Liberal contribution

The Apache Way promotes earned authority, the ASF champions Meritocracy, where community is over code.

Mailing List

"If it didn't happen on (a mailing) list, it didn't happen."

As mentioned above, many Weex contributors and committers are employees of commercial companies, and some of their companies even prefer Weex in their production environment. Therefore we, as employees, receive a great deal of feature requests from our coworkers, who often choose face-to-face conversations to discuss new features.

Code commits without discussion in mailing lists is not what Weex's PMC wants, nor is it The Apache Way either. Therefore, the Apache Weex PMC needs to enforce some rules to make things right: 

The dev@ mailing list is the only official communication channel, all features must be discussed in the mailing list before coding except tiny bugfix like fixing a null pointer exception.

Move Github PR and Issue from dev@ to a separate mailing list to avoid noise.

Decision Making

Apache Weex is overseen by the ASF and developed by a community of developers. It is important to follow the Consensus building and Voting procedures. The procedure is transparent and search engine-friendly to all users worldwide. It is normal that someone stops maintaining a project due to their interests changing or perhaps a change in their work situation. Projects that obey the previous consensus building and decision making procedures are normally more stable and robust in the long term compared with projects that don’t, as current maintainers would have a better understanding of what was happening before by searching a mailing list.

By default, the official language used in Apache mailing lists is English, which causes some problems for many Weex users who are Chinese and not proficient or comfortable at communicating in English. Therefore, enthusiastic contributors of Apache Weex would often  prefer to use Google Translate to translate Chinese to English to let others known what is happening, and politely remind the original author to use Chinese next time. It is a time consuming and tedious job to translate others' posts, but it is worthy to let the rest of the world understand what is happening here (on list).

In fact, there is a discussion about language used in the Weex mailing lists.
Engineering and Product
Infrastructure

Many users prefer Weex in their commercial products, among top of which have nearly 0.7 billion MAU. In such cases, project stability is our priority, as 99.999% availability only means that ten thousands of end users may experience problems.

Therefore, we choose to reduce or remove features from Weex instead of adding them:

The priority of Weex now is stability, which means only bugfixes are allowed;
New features should be imported to Weex as a plugin, which allows developers to  choose to enable or disable a certain plugin;

Developers' Feedback


We also make a feedback convention between our users and contributors in order for user problems to be solved efficiently.

Github Issues are only for Bug Feedbacks: other problems should go through mailing list.

It is important to report a bug according to the bug reporting template.

Future Growth

There are many end users that choose Weex in their commercial product, among which include Taobao Mobile, with hundreds of millions of users. For a list of known companies using Apache Weex, please see https://weex.apache.org/community/who-is-using-weex.html .

For now, Weex is still a project under development in the Apache Incubator. We welcome you to join the Apache Weex community. Visit us at https://weex.apache.org/

# # # 

Part of the "Success at Apache" series, Project Perspectives chronicles how projects and their communities have benefited from The Apache Way.

Monday April 01, 2019

Success At Apache: Positively impacting the world one contribution at a time

by Dinesh Joshi

My journey with Apache began in 1999 with Apache httpd and Apache Tomcat. Apache httpd was the de facto webserver at the time on Linux and Tomcat was the most well known Java Servlet container. LAMP (Linux, Apache httpd, MySQL, PHP) stack was a fantastic combination. From that point on, I have always been a Apache user, successively exploring technologies like Apache Commons, Apache Storm, Apache Hadoop, Apache HBase, and Apache Cassandra. It has been a very dependable OSS brand. Being interested in Distributed Systems and Databases, I began exploring OSS databases and came across Cassandra.

In early 2018, almost 19 years after I was first introduced to Apache projects, I began actively contributing to Apache Cassandra source. I have always been passionate about Cassandra and used it during my Masters at Georgia Tech. Its distributed, shared-nothing model is amazing. So when I did get the opportunity to contribute to the Cassandra codebase, I decided to make the most of it. Over the past year I have contributed over 25 patches as an author and reviewed over 30 patches. Collaborating with various contributors in the community, we successfully proposed the very first CIP (Cassandra Improvement Process), a Cassandra Sidecar. We, the community, are now busy building it. I have contributed some interesting changes to Cassandra so that it is more reliable and can scale better viz. Zero Copy streaming and Zstd Compressor which have been featured on the Apache Cassandra blog and at various international conferences. This has generated new interest in Cassandra.

I fully credit the Cassandra community with enabling a new contributor like me to make meaningful contributions. It is an incredibly passionate community, with a lot of questions, answers and knowledge dominating the project JIRA board and mailing lists. As a new contributor it was incredible to see a lot of community interest in what I was contributing. The Sidecar specifically generated a lot of discussion and debate within the community and ultimately we achieved consensus, the Apache Way! Zero Copy streaming is something that big players like Netflix, Uber, etc were interested in. Contributors from Netflix took the initiative in testing and benchmarking it and posting the results on Jira. Getting your work into an Open Source project is one thing but it is humbling to see your work being actively evaluated by some of the biggest industry names. It is even more fascinating to me how people can overcome organizational boundaries to collaborate on a project, and how ideas are accepted, debated and implemented as a community ultimately making it better for everyone in the world. Given my contributions to the Cassandra community, recently the PMC voted me in as a Committer which will help me bring in more contributions from the community as well as help mentor others to join in and contribute!

My goal with contributing to Cassandra was to give back to the community the knowledge & expertise that I have gained over the years building some of the most scalable systems in the world. I have found great mentors along the way who have helped me achieve that goal. It is incredible to see the impact we have on the world through Apache projects such as Apache Cassandra. 

Cassandra is used at some of the biggest organizations in the world for mission critical applications and changes like Zero Copy streaming (CASSANDRA-14556) or Zstd Compression (CASSANDRA-14482) will have a significant impact on many large businesses and more importantly people’s lives. Specifically Zero Copy Streaming in Cassandra allows the database to recover from a failed node several times faster than existing stable version of Cassandra. In addition, it also lowers the amount of resources that are required by the streaming process. Therefore, an organization running large installations of Cassandra can see a meaningful reduction in MTTR (Mean Time to Recovery) as well as reduce the spare server pool capacity that they need to maintain. This lowers the TCO (Total Cost of Ownership) for Cassandra. Zstd Compression is a new lossless compression scheme that offers better compression ratios over existing LZ4 Compression that is used within Cassandra with comparable compression speed. It can reduce storage needs by up to 40% depending on the characteristics of your dataset. Again, this not only reduces the expenses but also requires fewer servers to store data. As a result you are not only saving money but in a way saving the planet by using fewer servers.

I also believe that being a Open Source contributor is not just about code contributions. Contributions come in various forms and one of them is documentation. Seeing how Cassandra’s documentation is not updated, I proposed Cassandra for Google Season of Documentation to improve it. I also have been invited to talk about Cassandra at various conferences across Asia, Europe and North America. So far, in the past year, I have spoken about Cassandra at 9 conferences. It is great to engage with the user community at large which is very passionate and excited about Cassandra. This is one of the most important aspects of community contributions because you get to talk to your users first hand. It also generates interest in the project and is key to getting new contributors for your project.

In summary, this is impossible without having a great, supportive community which is the whole point of the ASF – to build great communities that foster collaboration making the world better one contribution at a time.

Dinesh Joshi is a Senior Software Engineer and a Committer on the Apache Cassandra project. He has a Masters in Computer Science (Distributed Systems & Databases) from Georgia Tech, Atlanta. In the past, Dinesh was a Principal Software Engineer at Yahoo building real time distributed systems for Yahoo’s Finance Web, iOS & Android apps. He is also an international speaker and regularly talks about Apache Cassandra and Databases. In his spare time, he volunteers as a mentor for Women Who Code.

# # #

"Success at Apache" is a monthly blog series that focuses on the people and processes behind why the ASF "just works". https://blogs.apache.org/foundation/category/SuccessAtApache

Tuesday March 26, 2019

Success at Apache: What You Need to Know

EDITOR'S NOTE: I came across the author's original post, "An Introduction to Apache Software — What you need to know", dated 3 February 2017, and was interested in finding away to share with the greater Apache community. The author's enthusiasm was palpable, and earnestly intended to help educate others. With the ASF celebrating its 20th Anniversary this year, it's easy for many of us to simply rely on tribal knowledge, not realizing that navigation to definitive guides aren't intuitive to newcomers. Those of us who have been here for a while "just know", partially because we were creating it as we went along. Below is an updated version of the original post, amended through the guidance of three long-standing ASF Members. And that's the point of it all at the end of the day: at Apache, we help each other as it contributes to our collective success, and this writeup will help others find their Success at Apache. 

by Maximilian Michels

Before you started reading this post, you have already been using Apache software. The Apache web server (Apache HTTP Server) serves about every second web page on the WWW, including this website. One could say, Apache software runs the WWW. But it doesnt stop there. Apache is more than a web server. Apache software also runs on mobile devices. Apache software is part of enterprise and banking software. Apache software is literally everywhere in today's software world.

Apache has become a powerful brand and a philosophy of software development which remains unmatched in the world of open-source. Although the Apache® trademark is a known term even among the less tech-savvy people, many people struggle to define what Apache software really is about, and what role it plays for today's software development and businesses.

In the last years I've learned a lot about Apache through my work on Apache Flink and Apache Beam with dataArtisans, as a freelancer/consultant, and as a volunteer. In this post I want to give an overview of the Apache Software Foundation and its history. Moreover, I want to show how the "Apache way" of software development has shaped the open-source software development as it is today.

The History of the Foundation

The Apache Software Foundation (ASF) was founded in 1999 by a group of open-source enthusiasts who saw the need to create a legal entity to institutionalize their work. Among the first projects was the famous web server called Apache HTTP, which is also simply referred to as "Apache web server". At that time, the Apache web server was already quite mature. In fact, not only did the Apache web server give the foundation its name but it became the role model for the "Apache way" of open and collaborative software development. To see how that took place, we have to go back a bit further in time.

A Web Server goes a long way

As early as 1994, Rob McCool at the National Center for Supercomputing Applications (NCSA) in Illinois created a simple web server which served pages using one of the early versions of today's HTTP protocol. Web servers were not ubiquitous like they are today. In these days, the Web was still in its early days and there was only one web browser developed at CERN where the WWW was invented only shortly before. Rob's web server was adopted quite fruitfully throughout the web due to its extensible nature. When its source code spread, web page administrators around the world developed extensions for the web server and helped to fix errors. When Rob left the NCSA in late 1994, he also left a void because there was nobody left to maintain the web server along with its extensions. Quickly it became apparent that the group of existing users and developers needed to join forces to be able to maintain NCSA HTTP.

At the beginning of 1995, the Apache Group was formed to coordinate the development of the NCSA HTTP web server. This led to the first release of the Apache web server in April 1995. During the same time, development at NCSA started picking off again and the two teams were in vivid exchange about future ideas to improve the web server. However, the Apache Group was able to develop its version of the web server much faster because of their structure which encouraged worldwide collaboration. At the end of the year, the Apache server had its architecture redone to be modular and it executed much faster.

One year later, at the beginning of 1996, the Apache web server already succeeded the popularity of the NCSA HTTP which had been the most popular web server on the Internet until then. Apache 1.0 finally was released on Dec 1, 1995. The web server continued to thrive and is still the most widely used web browser as of this writing.

The Rise of the Foundation

The team effort that led to the development and adoption of the Apache web server was a huge success. The Apache project kept receiving feedback and code changes (also called patches) from people all over the world. Could this be the development model for future software? More and more projects started to organize their groups similarly to the Apache group. As the number of project grew, financial interests arose and potential legal issues threatened the existence of the Apache group. Out of this need, the Apache Software Foundation (ASF) was incorporated as a US 501(c)(3) non-profit organization in June 1999. In the US, the 501(c)(3) is a legal entity specifically designed for non-profit charitable organizations. This is in contrast to other for-profit open-source software organizations or even US 501(c)(6) non-profit organizations which do not require to be charitable.

After the ASF was incorporated, new projects could easily leverage the foundation's services. Over the next year, every few months a new project entered the ASF. The first projects after Apache HTTP Server were Apache mod_perl (March 2000), Apache tcl (July 2000), and Apache Portable Runtime (December 2000). After a short break in 2001 which was used to come up with a programmatic approach to onboard new projects via an incubator, the ASF has seen very consistent growth of up to 12 projects (2012) each year.

The ASF became a framework for open-source software development which, in its entirety, remains unmatched by other forms of open-source software development. The secret of ASF's success is its unique approach to scaling its operations, in which the foundation does not try to exercise control over its projects. Instead, it focuses on providing volunteers with the infrastructure and a minimal set of rules to manage their projects. The projects itself remain almost autonomous.

Apache Governance - How does the foundation work?

There are about 200 independent projects running under the Apache umbrella. The question may arise, how does the foundation govern its projects? First of all, the ASF is an organization that is run almost entirely by volunteers. In the early days, many of the volunteers were developers which did not like to spend much time with administrative things (who does?), so the organization is structured in a way that requires little central control but favors autonomy of the projects which run under its umbrella.

Per-Project Entities

For every project (e.g. Apache HTTP, Apache Hadoop, Apache Commons, Apache Flink, Apache Beam, etc.), there are a Project Management Committee (PMC), Committers, Contributors, and Users.

Project Management Committee (PMC)

The PMC manages a project's community and decides over its development direction. Its most rudimentary and traditional role is to approve releases for a project. In that sense it has a similar function as the original Apache Group which led the development of Apache HTTP Server. When a new project graduates from the Incubator (covered later), the foundation's central instance, the Board, approves the initial PMC which is selected from the PPMC (Podling PMC) formed during incubation. Each PMC elects one PMC member as the PMC Chair which represents the project and writes quarterly reports to the ASF Board. The Chair needs to be approved by the Board.

Through a project's lifetime new PMC members can be elected by the existing PMC. Note that each new PMC member needs to be approved by the Board but this approval is merely formal and there are few instances that a new PMC member is not approved. PMC members do not need the formal permission of the foundation to elect new Committers. PMC members themselves are also Committers. Let's learn about Committers next.

Committers

Committers can modify the code base of the project but they can't make decisions regarding the governance of the project. They are trusted by the PMC to work in the interest of the project. When they contribute changes, they commit (thus, the name) these changes to the project. Committers don't only change code but they can also update documentation, write blog posts on the project's website, or give talks at conferences. Committers are selected from the users of the project; more about this process in the Meritocracy section.

Users and Contributors

Users are as important as the developers because they try out the project’s software, report bugs, and request new features. The term is a slightly confusing because, in the Apache world, most users tend to be developers themselves. They are users in the sense that they are using an Apache project for their own work; usually they are not actively developing the Apache software they are using. However, they may also provide patches to the Committers. Users who contribute to a project are called Contributors. Contributors may eventually become Committers.

In the image, the per-project entities are represented as circles. They exist for every project. Note that the user group circle is not depicted in full size because big projects tend to have much more Users than Committers and PMC members.

Foundation-Wide Entities

The ASF does not work without some central services. Here are the most important entities:

Apache Members

Apache members represent the heart of the foundation. They have been referred to as the "shareholders of the ASF" because they are deeply invested in the ASF (not in the financial sense). A prerequisite to becoming a member is to be active in at least one project. To become a member, you have to show interest in the foundation and try to promote its values. The ASF holds membership meetings which are usually held annually. At membership meetings new members can be proposed and subsequently elected. Elected members receive an invitation which they can choose to accept within 30 days. Becoming a member it not merely a recognition for supporting the ASF, but it also grants the right to elect the Board.

The Board of Directors (Board)

The Board takes care of the overall government of the foundation. In particular, it is concerned with legal and financial matters like brand and licensing issues, fundraising, and financial planning. The board is elected by the Apache members annually and is also composed of Apache members. The current board can be viewed here. Note that there is only one central Board for the entire foundation but Board members can be PMC members in different projects.

Officers of the corporation

The Officers of the corporation are the executive part of the administration. They execute the decisions of the board and take care of everyday business. Most of the officers are implicitly officers by being the PMC chair of a project. Additionally, there are dedicated officers for central work of the foundation, e.g. fundraising, marketing, accounting, data privacy, etc.

Infrastructure (INFRA)

The support and administration team (INFRA) is the team that runs the Apache infrastructure and provides tools and support for developers. INFRA is the only team at Apache which consists of contractors which are paid for their work. Their work includes running the apache.org web site and the mailing lists which are Apache’s main way of communication. Over time, various other tools and services were created to assist the projects. The main tools available which are used by almost all projects are:

  • Web space for the project's websites.
  • Mailing lists, for discussing the roadmap of the project, exchanging ideas, or reporting bugs (unwanted software behavior). Typically the mailing lists are divided into a developer and a user mailing list.
  • Bug trackers, which help developers to keep track of new features or bugs.
  • Version control, which helps developers to keep track of the code changes.
  • Build servers, which help to integrate/test new code or changes to existing code.

The Incubator

Founded in 2002, the Incubator is a project at the ASF dedicated to forming (bootstrapping) new Apache projects. The process is the following: People (volunteers, enthusiasts, or company employees) make a proposal to the Incubator. The proposal contains the project name, the list of initial PPMC (Podling PMC) members, and the motivation and goals for the new project. Once the IPMC (Incubator PMC) has discussed the proposal, it holds a vote to decide if the project enters the incubation phase. In the incubation phase, projects carry "incubating" in their names, e.g. "Apache Flink (incubating)"; this is dropped only once they graduate. To graduate, a project has to show that it is mature enough. The Community Development project at the ASF has created a catalogue of criteria called the Maturity Model. It requires having an active community, quality of code, and being legally compliant. Formally, the project needs to prove it fulfils the criteria to the Incubator IPMC which is comprised of Apache members. All existing work donated in the course of entering the incubator and all future work inside the project has to be licensed to the ASF under the Apache License. This ensures that development remains in the open-source according to the Apache philosophy. More about incubation on the official website.

Meritocracy - How are decisions made?

The Apache Software Foundation uses the term "meritocracy" to describe how it governs itself. Going back to the ancient Greeks, meritocracy was a political system to put those into power which proved that they were motivated, put effort into their work, and were able to help a project. The core of this philosophy can be found throughout history from ancient China to medieval Europe and is still present in many of today’s cultures in the sense that effort, increased responsibility, and service to a part of society ought to pay off in terms of power of decision, social status, or money.

Meritocracy in the Apache Software Foundation denotes that people who either work in the interest of the foundation or a project get promoted. Users who submit patches may be offered Committer status. Comitters who are drive a project, may gain PMC status. PMC members active across projects and taking part in the foundation's work may earn the Member status.

Decision-making within the foundation and projects are typically performed using Consensus. Consensus can be "lazy" which implies that even a few people can drive a discussion and make decisions for the entire community as long as nobody objects. The discussions have to be held in public on the mailing list. For instance, if a Committer decides to introduce a new feature X, she may do so by proposing the feature on the mailing list. If nobody objects, she can go ahead and develop the feature. If lazy consensus does not work because an argument cannot be settled, a majority based vote can be started.

Meritocracy and "lazy" Consensus are the core principles for governance within the Apache Software Foundation. Meritocracy ensures that new people can join those already in power. "Lazy" Consensus creates the opportunity to split up decision-making among the group such that it doesn't always require the action of all members of the community.

The Apache License - A license for the world of open-source


With the incorporation of the foundation in 1999, a license had to be created to prevent conflicts with the intellectual property contributed by others to the ASF. Originally, the license was meant to be used exclusively by the ASF but it quickly became one of the most widely used software licenses for all kinds of open-source software development.

The Apache license is very permissive in the sense that source code modifications are not required to be open-sourced (made publicly available) even when the source code is distributed or sold to other entities. This is in contrast to “Copyleft” licenses like the GNU Public License (GPL) which, upon redistribution, requires public attribution and publication of changes made to the original source code. The Apache license was first derived from the BSD license which is similarly permissive. The reason for this was that the Apache HTTP Server was originally licensed under the BSD license.

The current version of the Apache License is 2.0, released in January 2004. The changes made since the initial release are only minor but they set the prerequisite for its prevalence. At first, the license was only available to Apache projects. Due to the success of the Apache model, people also wanted to use the license outside the foundation. This was made possible in version 2.0. Also, the new version made it possible to combine GPL code with Apache licensed code. In this case, the resulting product would have to be licensed under the GPL to be compatible with the GPL license. Another change for version 2.0 was to make inclusion of the license in non Apache licensed projects easier and require explicit patent grants for patent-relevant parts.

Apache Today

The ASF today is not the small group that it used to be back in 1999. At the time of this writing, the Apache Software Foundation hosts 51 podlings in the Incubator and 199 top-level committees (PMCs). This amounts to almost 300 projects (latest statistics). Note that, a PMC may decide to host multiple projects if necessary. For instance, the Apache Commons PMC has split up the different parts of the Apache Commons library into separate projects (e.g. CLI, Email, Daemon, etc.). 50 of the 300 projects have been retired and are now part of Apache Attic, the project which hosts all retired projects. The above graph is taken from https://projects.apache.org.

Apache Conferences

The Apache Software Foundation regularly organizes conferences around the world called ApacheCon. These conferences are dedicated to the Apache community or certain topics like Big Data or IoT. It is a place to meet community members and learn about the latest ideas and trends within the global Apache community. Apart from the official conferences, there are conferences on Apache software organized by companies or external organization, e.g. Strata, FlinkForward, Kafka Summit, Spark Summit.

Here's a list of some projects that I came across in the past. I grouped them into categories for a better overview. I realize you might not know a lot of the projects but maybe this list can be the starting point to discover more about these Apache projects :)

Big Data

  • Hadoop
  • Flink
  • Spark
  • Beam
  • Samza
  • Storm
  • NiFi
  • Kafka
  • Flume
  • Tez
  • Zeppelin

Cloud

  • Mesos
  • CloudStack
  • Libcloud

Machine Learning

  • Mahout
  • SAMOA

Office

  • OpenOffice

Database

  • CouchDB
  • HBase
  • Zookeeper
  • Derby
  • Cassandra

Query Tools / APIs

  • Hive
  • Pig
  • Drill
  • Crunch
  • Ignite
  • Solr
  • Lucene

Programming Languages

  • Groovy

Distributions

  • Bigtop
  • Ambari

Libraries

  • Commons
  • Avro
  • Thrift
  • ActiveMQ
  • Parquet

Developer Tools

  • Ant
  • Maven
  • Ivy
  • Subversion

Web Servers

  • HTTP (the one!)
  • Tomcat

Web Frameworks

  • Cocoon
  • Struts
  • Sling

Apache - A Successful Open-Source Development Model

My first attempt to learn more about Apache goes back several years. I was using the Apache License while working on Scalaris at Zuse Institute Berlin. I realized that the license was somehow connected to the Apache Software Foundation but I didn't really understand the depth of this relationship until I started working on Apache Flink with dataArtisans. Besides the official homepage of the foundation, relatively little information was available on the Internet about the foundation and its projects. In hindsight, the best source of information was to read the email archives, get to know other people at the ASF, and become a volunteer myself :)

When I originally wrote this post I couldn’t find an introductory guide to the ASF. So I decided to do a bit of research myself and tried to write down what I had learned working on Apache projects. I hope that I could provide an overview of the ASF and show you how significant the foundation has been for the open-source software development.

Thank you

Thank you for reading this article. Feel free to write me an email if I got something wrong or you would like to comment on anything.

Thank you Roman Shaposhnik, Shane Curcuru, Dave Fisher, and Sally Khudairi for your comments which were very helpful to revise this post for the 20th anniversary of the ASF.

Sources

 # # #

"Success at Apache" is a monthly blog series that focuses on the people and processes behind why the ASF "just works". https://blogs.apache.org/foundation/category/SuccessAtApache

Wednesday March 20, 2019

Project Perspectives: Apache RocketMQ and The Apache Way

by Von Gosling, member of the Apache RocketMQ Project Management Committee

Last year, I wrote a blog about how communities from a non-English-speaking country understand and use Apache way for open innovation. In that article, I mainly expressed the desire to be open as a developer, to be good at using mailing lists, listening to community voices and making decisions. In addition, project communities can also organize more programming activities like Google Summer of Code ("GSoC"; applications are now open for the 2019 program) to help developers learn how to become involved in the community-led development process as well as provide greater help and encouragement for developers to join the community. After that, I have been thinking about sharing some Apache RocketMQ community building and collaborative innovation stories through some real-life examples. It is my great honor to share some stories with community at the upcoming ASF anniversary celebration. IMO, The Apache Way has greatly helped Apache RocketMQ to grow its community since entering the Apache Incubator in 2016.

Apache RocketMQ was originally created and used as a distributed messaging engine for online e-commerce transaction processing. It could undertake billions, even trillions of  message transmissions in many companies’ production environments. RocketMQ has been proven to be suitable for high-throughput, low-latency messaging systems in the large-scale distributed scenarios. A standard OpenMessaging project on the Linux Foundation provides a common benchmarking platform[1] for distributed messaging systems in the cloud including Apache RocketMQ. Of course, as a widely used messaging engine, the functional level, RocketMQ provides both pull and push models, supporting scheduled message, ordered message, batch message, broadcast message, message filtering, dead-letter queue and so on, almost sustaining all classic event driven or streaming scenarios. Even so, there are still a few core features not included from an enterprise perspective. Last year, the RocketMQ community announced three attractive features: transactional message, message tracing, authentication and authorization. The transactional message implements the transaction consistency guarantee between the sender and the local business operation. This feature is a very valuable feature which was initiated and contributed by several individuals from the financial industry. While based on transactional messages, we could build a full-stack distributed transaction platform, which is suitable for long-running microservice. 

In the enterprise application for messaging, there has always been a troubling problem. Where did my message send to? How can I find message accumulation if the consumer has failed or not? That’s a very difficult task especially when we are providing cloud pub/sub service, because messaging is an asynchronous decoupling process, the natural upstream and downstream are not aware of each other. Fortunately, some guys from the China Mobile Research Institute found some of the pmc members at Apache RocketMQ Meetup and mentioned their troubles. So, we showed them the latest RIP[2]  plan from the community, which is a very challenging optimization and improvement for Apache RocketMQ intra code. Under the help of a Project Management Committee (PMC) member, RIP were proposed, discussed and accepted. After the necessary time planning, we started to design, coding and discuss, exchange code implementation details, which includes several meetups to gather together to discuss and review the code until the later online verification and released. More interesting, in the following review process, another cloud vendor from the community has joined. After simple video communication, the original implementation was optimized to be compatible with its implementation. Finally, in the community, we are happy to see that the new version has been verified in production by two cloud vendors. The ACL feature is also a process in which the PMC and the community continue to collaborate, and the final version of the RIP is finally published. Through the meetup we collected the requirements, through open discussion, coupled with the video communication using Zoom, the RocketMQ community completed the several important releases in the last year. At the same time, in order to better promote ecological flourishing, several projects residing under the Apache RocketMQ external repository were reorganized (80% above projects contributed by community during incubation). In addition to setting milestones, this time we added similar incubations and graduation mechanism further reduces the difficulty of community participation while better guarantee product quality. Today, several different language sdk projects that have graduated are from a large number of users in use and maintenance. The enthusiasm of the community completely surpasses thoughts. It also verifies that the future cloud architecture is language-independent, even serverless. Under this general trend, the community's guys actively participated in the RocketMQ multi-language ecological construction. RocketMQ now supports java, cpp, python, go, nodejs and other languages are planning and on the way. Even, the current CPP client can support up to 8 platforms, like CentOS, MacOS, Ubuntu and Windows.

Not only that, more and more community enthusiasts are also spontaneously self-organizing: they are also actively planning similar activities in the city station, but also need to give some attention and encouragement by PMCs. At the same time, this also provoked us to think about whether the Apache community should have a developer-oriented role like release manager, such as developer-relationship maintainer, project manager, to let more users understand, and become more involved in the product. The community development in recent years has also brought many new signs to the RocketMQ community. There are more and more active developers in the community. In roughly three months, nearly 2,000 emails were sent from the dev email list. Research has shown that 70% of top banks in China use Apache RocketMQ on the core business link, approximately 60% of Internet finance and insurance customers use RocketMQ in their production environments, and 75% of top 20 Internet companies in China widely use classic pub/sub scenarios.

Recently, the RocketMQ community has been discussing the development of the next-generation messaging platform. We hope it is a unified messaging engine with lightweight data processing platform, and welcome everyone to become involved and tell the PMC what features you are most looking forward to seeing in future versions of RocketMQ.

Many thanks to The Apache Software Foundation for its open and inclusive community culture that helps RocketMQ build a broader community. It will soon be 20th anniversary. I am pleased to represent the RocketMQ community in wishing the ASF a happy 20th anniversary, hoping for many more and continuing to thrive.


[1] https://github.com/openmessaging/openmessaging-benchmark
[2] https://github.com/apache/rocketmq/wiki/RocketMQ-Improvement-Proposal

# # #

Part of the "Success at Apache" series, Project Perspectives chronicles how projects and their communities have benefited from The Apache Way. 

Monday March 18, 2019

Apache Software Foundation Platinum Sponsor Profile: Leaseweb

with Robert van der Meulen, Global Product Strategy Lead at Leaseweb


Robert is Global Product Strategy Lead at Leaseweb. Fascinated by technology, Robert studied computer sciences, and after his studies, he delved into the then relatively young and rapidly developing internet technology. He soon understood that the internet would be at the center of almost everything we do and wanted to be part of it. Robert is passionate about using technology to improve people's lives. He contributed to the Debian project as a developer later introduced Apache CloudStack in Leaseweb and has been active in the open source community for quite some time. During his 9 years at Leaseweb, he worked hard to make sure digital transformation, from how we communicate to how we do business, is part of the company mission. Follow @Leaseweb on Twitter.


"Many Apache projects are being built by – mostly – volunteers and motivated individuals, and the world can use, change and develop all of those. It's important to support the people that make this possible."


How did Leaseweb's work with Open Source begin?

There's a long history of open source within Leaseweb. When you do large-scale hosting, open source operating systems, tools, and applications are always pretty much part of your product – and working on open source projects brings mutual benefits. This can mean running a mirror for your customers and "the outside world", fixing and reporting bugs, or helping with actual features or changes to "products" you use. As our services portfolio grew, we started using and contributing to more open source projects, especially when Cloud was becoming a bigger part of the portfolio – bringing the need for more middleware and (platform) management.

Why Apache? How is Leaseweb involved with the ASF, and for how long?

If you count the Apache HTTP Server predating the ASF, we've probably been using ASF software in one way or another for as long as we exist – which is incidentally pretty close to the ASF (we celebrated our 20th anniversary about 2 years ago). Our contributions and use of ASF projects grew significantly when Apache CloudStack became part of the portfolio. CloudStack being open source and managed by the ASF after cloud.com and Citrix adventures gave us a nudge to start using it more. I'd say CloudStack is a significant part of our Cloud portfolio right now – we run large deployments all over the world, often supporting critical customer applications.

Why is support for foundations such as the ASF important? How does helping the ASF help Leaseweb?

Support for foundations such as the ASF is important because those foundations are important :-) . Any big open source project at some point needs the infrastructure to continue to run – and it's great if a project can rely on an organization like the ASF for that infrastructure so the focus can be on making the project great. Open source projects can grow and be more successful if they can more easily deal with governance, financials and administration, as well as tangible infrastructure and tools. Helping an organization like the ASF helps the ASF projects all over, which has an impact on the software we use as part of our products.

What sets the ASF apart from other software foundations or consortia?

The simple distinguishing factor is the size of the ASF. There's a vast number of projects which are part of the ASF, and most of those are significant in the free software "portfolio". Many of those components and projects are used in a less visible way, being part of the hard-core infrastructure of the Internet – but without them, many tools and devices we use would not be able to function. What I like about the ASF, is that it embodies the open source spirit by valuing consensus and being an enabler for the projects that are part of the Foundation. 

What does "The Apache Way" mean to Leaseweb? What makes The Apache Way special?

There's overlap between The Apache Way and the values we try to stick to in Leaseweb. 

Important ones are Merit, Open and Consensus – in part due to our backgrounds. We value facts, deeply dislike assumptions, and like to make decisions based on proper motivation and data. Growth makes people happy and gives great results, so we like people to do more of what they're good at – and to get even better at it. This also means being open to new opinions and ideas – executing on them because they make sense, not because where they come from. I think those values are recognizable in many open source communities as well as in The Apache Way.

Do you have any guidelines for promoting innovation? There is no limit with Open Source: how do you stay focused?

Open source projects are often tools for us or part of a product offering or service – which means we'd look at what tools fit best to get to where we want to be. Innovation is more a natural part of that, as we need it to continue to offer the right services to our markets. It's pretty much impossible to do that without constantly innovating and adding new features and products. Focus is a more difficult one; a large part of that focus is driven by our target markets and customers, so listening to that market and those customers to figure out what they want is super important. That information, along with keeping a close eye on market trends, gives us direction and focus from a product and services perspective. From a more technical angle, great engineers are always looking for ways to make their systems and services better :-) . Lots of input (and obviously the execution!) comes from the product teams – either by constant optimization and small changes, or by bigger business cases or ideas that can be executed. 

How does Apache fit into Leaseweb's long-term strategy/plans?

A number of our leading Cloud products are based on Apache software. We use Apache CloudStack for various private cloud and VPS offerings, and those platforms are continually growing and evolving – and we keep adding more with most of the new locations we open. Along with the CloudStack platforms, hosting environments obviously have many deployments using Apache web servers. Within our technical teams we consume lots of different Apache projects and actively contribute to a number of them (we have a dedicated CloudStack team that includes one of the Apache CloudStack PMC members). Every software solution has its limits, and obviously this goes for CloudStack too – but also we're happy we can change or help change the things that could be better. 

Money is just one way to support the ASF. How else do you contribute? What recommendations do you have for others to participate?

An important part of the ASF support is the platform we provide; it's obvious that The Apache Software Foundation would run their infrastructure on Apache CloudStack, but I'm happy the Leaseweb team and infrastructure is delivering and maintaining that particular CloudStack setup. There's a sense of pride; the people building the software are trusting our services to do part of that on. Next to that, it proves to me we provide a set of services and products we can be proud of and one that fits the requirements of a bunch of pretty hardcore Cloud developers.

How does it feel to be able to offer this level of support?

It feels great! It's important to, if you have the opportunity, give something back. Many Apache projects are being built by – mostly – volunteers and motivated individuals, and the world can use, change and develop all of those. It's important to support the people that make this possible.

Are there any other thoughts on the experience of being a large-scale donor that you would like to share? What else do we need to know?

Not much. I personally really enjoy seeing what happens with the support we provide – what projects it makes possible, what things it makes more easy or better. Tangible insight in the results is a big motivator as well as a proof point. 

# # #

Sponsors of The Apache Software Foundation such as Leaseweb enable the all-volunteer ASF to ensure its 300+ community-driven software products remain available to billions of users around the world at no cost, and to incubate the next generation of Open Source innovations. For more information sponsorship and on ways to support the ASF, visit http://apache.org/foundation/contributing.html . 

Tuesday March 05, 2019

Success at Apache: Growing with the ASF

by Phil Steitz

I got involved at the ASF in 2002, back in the wild and wooly Apache Jakarta days. In my day job, I was responsible for the team introducing Java technology at a large financial services company.

One of the first things we built was an MVC (model-view-controller) framework for Web applications. We were very proud of it and it worked great in production, but it was hard for us to keep ahead of the feature requests from the many development teams who were using it. One evening, someone said, "Hey, there is this Struts thing that is very similar to what we do and it has some of these things already." I went home and found my way to the Jakarta Web site and downloaded the latest source release.

One thing led to another and the next thing I knew I was asking questions on the struts user mailing list as we started playing with the software and seeing what it would take to convert our apps to use it. After a few months, I found myself answering questions on-list as well and I finally got up the nerve to submit my first patch, which was a documentation fix. At the time, the Apache Struts community was struggling to release version 1.0. I looked around to see what I could do to help and found my way to Apache Commons Pool and DBCP, which Struts was trying to use to replace its built-in connection pool. What I found there was some brilliant but inscrutable code hiding some nasty bugs that Struts needed fixed. At that time, I did not have the Java skills to solve the problems, but I resolved to come back when I did and I watched as others developed workarounds that enabled the Struts community to move forward. I found a welcoming community in Commons and some problems that I could help with. I did eventually make it back to Commons Pool and DBCP, serving as RM for quite a few releases.

During this same timeframe, my $dayjob career was advancing rapidly, thanks in no small part to my aggressive introduction of Open Source software and practices, which was uncommon at the time in financial services. We brought in some ASF committers and their companies to help us build a development pipeline and tooling that was ahead of its time. We applied the Contributor - Committer - PMC member concept to developing enterprise technology standards and strategy. We developed the concept of "earned authority" in technology decision-making, modeled after the idea of publicly earned merit at the ASF. My leadership approach was profoundly influenced by my experience at the ASF, and continues to be to this day. Not a day goes by at work when I do not push for more transparency, more eyeballs on code and more focus on community collaboration and genuine appreciation of diverse viewpoints. I am very grateful to the many ASF community members who have helped me develop as a leader.

Through the years I've met other Apache committers with similar experiences: welcoming projects, friendly communities and great opportunities for personal growth. I’m pleased to see how the ASF has grown and continued to evolve. Every day new contributors join us and new leaders regularly emerge to help guide our communities and the Foundation overall. We all benefit from our experience here and the Foundation becomes stronger as a result. 


Phil Steitz is Chairman of the Board of The Apache Software Foundation.  He has been an ASF committer since 2003 and a member since 2005.  He served for 4 years as Vice President, Apache Commons. Phil also currently serves as Chief Technology officer of Nextiva, a cloud-based business communications company. He has previously held C-level technology leadership positions at multiple software and financial services companies.

# # #

"Success at Apache" is a monthly blog series that focuses on the people and processes behind why the ASF "just works". https://blogs.apache.org/foundation/category/SuccessAtApache

Tuesday February 05, 2019

Success at Apache: For Love or Money: Volunteer vs. Professional Open Source

EDITOR'S NOTE: "Success at Apache" reflects diverse, personal experiences from our community members, with particular focus on the people and processes behind why the ASF "just works". The post below is the result of a discussion with the author that originated in early September 2018 and remained unpublished as its tone deviates from the general tenor of this series.Over the past few months, this topic has increased in visibility and relevance with the greater community, and we have made an exception in publishing due its timeliness and representation of the evolution of Open Source communities, both within and without Apache.

by Rich Bowen

A few weeks ago, a colleague asked me what I believed to be the biggest threat facing Open Source today. I answered that I think it's full-time Open Source developers, and the effect they have on part-time volunteer developers.

Long ago (it actually hasn't been very long, it just seems that way sometimes) Open Source was developed primarily by part-time hobbyist developers, working on their evenings and weekends on things that they were passionate about. Sure, there were full-time developers, but they were in the minority. Those of us working a few hours on the weekends envied them greatly. We wished that we, too, could get paid to do the thing that we love.

Now, 20 years on, the overwhelming majority of Open Source development is done by full-timers, working 9-5 on Open Source software. And those who are working nights and weekends are often made to feel that they are less important than those that are putting in the long hours.

Most of the time, this is unintentional. The full-timers are not intentionally marginalizing the part-timers. It just happens as a result of the time that they're able to put into it.

Imagine, if you will, that you're an "evenings-and-weekends" contributor to a project. You have an idea to add a new feature, and you propose it on the mailing list, as per your project culture. And you start working on it, a couple of hours on Friday evening, and then a few more hours on Saturday morning before you have to mow the lawn and take your kids to gymnastics practice. Then there's the cross country meet, and next thing you know, it's Monday morning, and you're back at work.

All week you think about what you're going to do next weekend.

But, Friday evening comes, and you `git pull`, and, lo and behold, one of the full-timers has taken your starting point, turned it in a new direction, completed the feature, and there's been a new release of the project. All while you were punching the clock on your unrelated job.

This is great for the product, of course. It moves faster. Users get features faster. Releases come out faster.

But, meanwhile, you have been told pretty clearly that your contribution wasn't good enough. Or, at the very least, that it wasn't fast enough.

The Cost of Professionalism

And of course there are lots of other benefits, too. Open Source code, as a whole, is probably better than it used to be, because people have more time to focus. The features are more driven by actual use cases, since there's all sorts of customer feedback that goes into the road map. But the volunteerism that made Open Source work in the first place is getting slowly squelched.

This is happening daily across the Open Source world, and MOST of it is unintentional. People are just doing their jobs, after all.

We are also starting to see places where projects are actively shunning the part timers, because they are not pulling their weight. Indeed, in recent weeks I've been told this explicitly by a prominent developer on a project that I follow. He feels that the part timers are stealing his glory, because they have their names on the list of contributors, but they aren't keeping up with the volume of his contributions.

But, whether or not it is intentional, I worry about what this will do to the culture of open source as a whole. I do not in any way begrudge the full-timers their jobs. It's what I dreamed of for *years* when I was an evenings-and-weekends open source developer, and it's what I have now. I am *thrilled* to be paid to work full time in the Open Source world. But I worry that most new Open Source projects are completely corporate driven, and have none of the passion, the scratch-your-own-itch, and the personal drive with which Open Source began.

While most of the professional Open Source developers I have worked with in my years at Red Hat have been passionate and personally invested in the projects that they work on, there's a certain percentage of them for whom this is just a job. If they were reassigned to some other project tomorrow, they'd switch over with no remorse. And I see this more and more as the years go by. Open Source projects as passion is giving way to developers that are working on whatever their manager has assigned, and have no personal investment whatsoever.

This doesn't in any way mean that they are bad people. Work is honorable.

I just worry about what effect this will have, and what Open Source will look like 20 years from now.


Rich Bowen has been doing open source-y stuff since about 1995, and has been a member of the Apache Software Foundation since 2002. He currently serves on the ASF Board of Directors. By day, he's the CentOS Community Manager, working for Red Hat. Read Rich's earlier post, "Success at Apache: Wearing Small Hats".

# # #

"Success at Apache" is a monthly blog series that focuses on the people and processes behind why the ASF "just works". https://blogs.apache.org/foundation/category/SuccessAtApache

Tuesday January 15, 2019

Apache Software Foundation Gold Sponsor Profile: Bloomberg

with Kevin Fleming, Head of Open Source Community Engagement and Member of the CTO Office at Bloomberg


Kevin has spent more than 20 years in the technology industry. In 2004, he started a VOIP service provider company and chose Asterisk as his platform. 9 months later he was offered a position at Digium to work on Asterisk full-time. After seven years of developing and managing the Asterisk project, and helping to design and build the Asterisk SCF project, he moved on to Bloomberg LP, where he works with various teams to help produce and support Bloomberg's open software, used by its customers and partners to integrate with the Bloomberg Terminal. Follow @realkpfleming and @TechAtBloomberg on Twitter.


“ASF's very explicit statement that every participant

in a project is participating personally is really

a big differentiating factor to the other models.”


How did Bloomberg's work with Open Source begin?

Bloomberg has been a consumer of Open Source software for decades, but our involvement as a community collaborator and contributor began in earnest about seven years ago. That was a result of a company-wide decision to begin using Open Source tools in the development of our applications and infrastructure when possible, instead of commercial or proprietary tools.

Open Source tools are important to us because, when a tool’s source code is available, you have the flexibility to understand how it works, to modify it, and to support it by yourself, and you don’t have to rely on a vendor who might go away or whose priorities might change. That's not to say that there aren’t vendors who support their Open Source tools, because there are, but we're not locked into a channel model. Open Source tools give us control over our own destiny. If something becomes important enough to us, we can form an internal team to provide support and enhancements for that tool and the team can contribute those enhancements back to the Open Source community, if appropriate.

Why Apache? How is Bloomberg involved with the ASF, and for how long?

Bloomberg has been involved with the ASF for almost all of the seven years that we've been an active participant in the Open Source community. Apache is the home of dozens of Open Source projects that are fundamentally important to us. These tools support our data science workflows, data processing workflows, and web services, as well as other internal and external services that the company operates.

It's important to us that the organization providing a project's home is able to effectively support the project, and we want developers that work on projects in the Apache organization to focus on actually developing software, without having to spend time managing infrastructure (like bug trackers, source code repositories, and related tools). Contributors to Apache projects can focus on their own project because of the support from the foundation that these projects receive.

Why is support for foundations such as the ASF important? How does helping the ASF help Bloomberg?

Supporting organizations like the ASF is important to Bloomberg because of its governance model. Every participant in one of these Open Source projects has equal representation and footing, and developers are valued based on the merits of their contribution. Projects operating under a different governance model might not offer same type of participation for developers unless their company has made a significant financial contribution to the organization. Bloomberg participates in those types of organizations as well, but we strongly prefer those that allow everyone to participate. Not only can input come from a broader community, but also this allows contributors with a varied level of experience to participate in projects.

Contributors on these projects aren't only developers; they also include people with varied skills like documentation, project management, and marketing. Sometimes a project's decision-makers don’t write any code. While useful tools are developed within both governance models, the way an Apache project's roadmap is set, planned, and decided upon is what's important to us.

What sets the ASF apart from other software foundations or consortia?

The one really significant difference from other charitable foundations that we also support is the ASF's governance model. ASF's very explicit statement that every participant in a project is participating personally is really a big differentiating factor to the other models. 

What does 'The Apache Way' mean to Bloomberg? What makes 'The Apache Way' special?

As a result, meetings held to discuss the next major phase of an Apache project's development don't feel like any company has a representative group. ASF's policy states that you're there representing your own personal interests and not anyone else's. Even though I may know where everyone in the room works, it doesn’t matter and is not relevant. That doesn’t mean you can't say 'the company I work for uses this piece of software in a certain way,' and obviously the way you use the software will impact your opinion, but you don’t make suggestions because that’s what your company wants. Your decisions about a project should be influenced by what you think is best for the broader community. A contributor's entire currency is based on their contributions and how the community values their participation.

Do you have any guidelines for promoting innovation? There is no limit with Open Source: how do you stay focused?

We often have to consider different solutions because of changing business requirements, new types of systems to manage, or some other reason. We strongly encourage people to take a few steps back from their daily work of maintaining our systems to think about what the service may need to support in the future. We want to know if we're using the right tool, if we should use something else, or if we should improve an existing tool.

We strongly encourage people to consider that they're not just delivering a service today and that they don't want that service to be irrelevant to clients six months down the road. They need to build applications and provide databases and services that have the right functionality that meet our clients' present needs. But, you also have to choose solutions that can grow with you and that you can grow, and you have to be able to take technology in the direction you need it to go. You can do this with Open Source easier than you can with a commercial, off-the-shelf solution.

How does Apache fit into Bloomberg's long-term strategy/plans?

It's strategically important to us to ensure that the ASF continues to be a place where new, interesting, and exciting Open Source projects want to go to as their home. As these projects evolve beyond just a few people putting code up on GitHub, they can receive the benefits and support that ASF has to offer – this is a good thing for Bloomberg and the greater Open Source community.

Money is just one way to support the ASF. How else do you contribute? What recommendations do you have for others to participate?

We participate in helping the ASF decide how best to support organizations like us, and we look for ways to further help the ASF through regular conversations with them. We help spread the word about how Apache projects are run and why that's valuable and important – marketing and evangelizing is another way we contribute to the overall health of the community and the projects to which our developers contribute.

There are a few different models for how people can contribute to Apache projects. We have some employees who contribute outside of work, in their personal time. On the other end of the spectrum, we have staff that spend most of their day working on Open Source projects, including reviewing patches that aren't contributed by Bloomberg employees. These Open Source projects are important to Bloomberg, and this work ensures that the projects move forward. Of course we also have team members who contribute to projects as the need arises, which may mean that they contribute to a dozen (or more) projects in any given year.

We also host collaborative weekend sprints that are focused on a specific Open Source project or group of projects. Between 50 and 100 people attend these events with project leaders so they can learn how to become contributors to that specific project, and we provide the support system so they can participate. We ask people to break up into teams so they can, while working as part of a small group, tackle open items on the project's 'to do' list. The groups dive in and try to figure out how to solve each problem, and experts are available to help when people get stuck or to merge participants' PRs on the spot.

For some of those attending, this may be their initial contribution experience, and it's important that this experience is very collaborative, friendly, and productive. The goal of these events is to train people to be Open Source contributors. While the sprint might not be for an Apache project, some participants end up contributing to Apache projects in the future. Once someone becomes a contributor, they become more comfortable with the process and know what to expect, and they're able to translate that experience to subsequent projects.

How does it feel to be able to offer this level of support?

We're pleased to be able to participate and encourage more companies to sponsor the Apache Software Foundation. Everyone wins when everyone collaborates.

# # #

Sponsors of The Apache Software Foundation such as Bloomberg enable the all-volunteer ASF to ensure its 300+ community-driven software products remain available to billions of users around the world at no cost, and to incubate the next generation of Open Source innovations. For more information sponsorship and on ways to support the ASF, visit http://apache.org/foundation/contributing.html . 

Monday January 07, 2019

Success at Apache: Accidentally Finding Awesome

by Daniel Ruggeri

My involvement with the ASF started very simply. 

I was a server administrator who wanted to have a bug or two fixed and a feature or two added to the Apache HTTP Server (httpd). I spent some time learning the codebase a bit and submitted my first patch to the httpd dev list. I wasn't expecting much of a response, as my primary motivation was to avoid having to maintain the fixes locally, but I was willing to do it if I had to. Surprisingly enough, I got a quick response from "those developer folks" and was thanked for the contribution and given a bit of guidance on when it might hit the stable branch. Wow... cool: that was neat. 

Fast forward a few months and I found a few other bugs and even added a few features myself. Every time, "those folks" (who I certainly wasn't a part of because I just wasn't as brilliant) took the contribution and incorporated it into the code base or gave pointers on how to improve it. This was getting to be pretty cool, but I was convinced "they" were just happy for the free labor.

Around that time, I was hitting some serious career growth. Working with httpd so much at $dayjob, I got to the point where I knew the ins and outs of the proxy quite well. I was also challenged by a mentor to consider giving public talks. After mulling over it, I figured I'd give it a shot and since 98% of $dayjob revolved around the httpd proxy and cool things you could do with it, I submitted a talk to ApacheCon. Again, thinking "Maybe 'those folks' don't have a full schedule" and are seeking content.

Amazingly, "those folks" accepted the talk. I gave my first *real* public speech at ApacheCon. I remember it vividly: I was nervous as hell. I mean... could you believe it? The PRESIDENT/one of the founders of the ASF was in the audience. The guy that WROTE THE MANUAL AND BOOK about httpd was also sitting right there. Oh, by the way, the guy that WROTE THE BOOK about modules was across the aisle a few rows back. Not to mention the fact that I saw several name tags I recognized as 'heavy hitters' in the community. I couldn't believe it, but they actually took the time out of their day to hear what I had to say.

While I think the presentation was probably "OK" at best, I was still welcomed and even got to chat with "those folks" about the future of the project and where it might be taken. I also got to chat with folks from several other projects. I heard about this "Hadoop" thing from a newfound friend (didn't make much sense to me) and enjoyed some awesome meals with folks from other projects (I didn't even come close to understanding what they did, but wrote down the names for later research). I connected with a fellow server admin who had some cool ideas for httpd and spent some time brainstorming how to make our @dayjobs better. 

I learned so many things in that first year at ApacheCon. 

Not too long afterwards, I was invited to be a committer on the httpd project. This floored me because, for the first time, I realized that this wasn't about sucking up free patches from the outside world. I started to see that the project was interested in me being part of it.

So, off I went. I continued submitting ever-more-interesting patches here and there, going to ApacheCons and giving ever-more-refined versions of my proxy talk and spending ever-more-time with other folks in the community. I did this really cool "barcamp" thing where we talked about whatever we wanted and got to expand our minds. 

There was also something about making the terrible (wonderful?) mistake of buying the first round the last night of the ‘con once, too: shenanigans all around. 

After a while, I didn't feel like just an outsider trying to run a better server at $dayjob. I felt like I was part of this bigger thing that was going on. I was hanging out with people I genuinely consider friends as opposed to "those folks". I was loving it and I wanted to share it. So I did the unthinkable... in a moment of boldness or temporary insanity enhanced by a faulty governor that avoids embarrassment, I gave a completely ad-hoc lightning talk titled "I love this community." And at that point... the cat was out of the bag and I was effectively 'all in'.

The really cool thing is that I wasn't actively trying to join the community. Heck, I didn't even realize a community was there. Instead the community was actually pulling me toward it. I had no idea what the *depth* and *richness* of where things would go. I started as an outsider with zero expectation other than making my life a bit easier at work and stumbled upon one of the most rewarding things I've found outside of blood family.

... THIS is why I love this community and THIS is why I want to serve it. So, as it follows, this is where the pride comes from. With a family this welcoming, it makes it easy to become more involved. So… the only thought to leave you with is “How are YOU going to get move involved?”

Daniel Ruggeri is an Open Source evangelist and lover of tech. At work, he is responsible for setting the direction of the Web and Cloud space for Mastercard and he spends his time playing with infrastructure and the code that powers it both inside the firewall and outside. He is a member of The ASF and has contributed code to Open Source projects from simple pet projects to widely utilized servers. As a lover of Open Source, he even teaches courses about Open Source Software Development (and will share the curriculum with you!).

# # #

"Success at Apache" is a monthly blog series that focuses on the people and processes behind why the ASF "just works". https://blogs.apache.org/foundation/category/SuccessAtApache

Monday December 03, 2018

Success at Apache: Cookie Monster

by Isabel Drost-Fromm

As a researcher interested in machine learning, Web- and social graphs I joined the Nutch mailing lists back in 2005 when the project was still on SourceForge. I started tinkering with Nutch Writeables to store the data I needed for my analysis – something that today some may know as Hadoop Writeables – the Nutch wiki still has a link to the material that I could get published out of those experiments: https://wiki.apache.org/nutch/AcademicArticles

After leaving academia I remained on the Nutch and Lucene mailing lists - until one day I saw the idea of an "Apache Text" project mentioned: https://lists.apache.org/thread.html/ac22faddbef946b66d544e590fe1b2a54b60215c98cc38a2f995ee06@1176254016@%3Cdev.lucene.apache.org%3E ... I got in touch with Grant Ingersoll, over the course of half a year that vague idea was turned into a plan to have a scalable machine learning project at Apache: Scalable in terms of community, dataset size but also commercially friendly when it comes to licensing – Apache Mahout was created.

Some ideas turn into something with a life on its own. The story I'm going to tell has little to do with great technical or economic achievements that were made with software developed at The Apache Software Foundation. However it has a lot to do with the kind of cross community links that exist between projects at Apache. It also has a lot to do with the fact that there are people active in Apache projects for whom the project is more than merely a day job.

But let's start at the beginning: Little over a year ago, in April or May 2017 Stefan Rudnitzki, one of my then-new colleagues at Europace AG was showing me around the office – mentioning in particular that there's space for meetups of 100 up to 200 people. It was the year when it was unclear whether or not there would be an ApacheCon EU. The combination of those two pieces of information put  an interesting idea in our heads: Why not pull ASF interested people to Berlin and have them discuss cross-community, behind-the-scenes, OSS economics, decentralized project management, coordination of work without discretionary power topics?

In a first step we ran a rough version of the idea past a handful of friends at Apache – and received encouragement. The idea got bigger, new aspects were added and we thought "Let's get more specific!".

In a working backwards model the next thing that was written was a press release (in big, bold, red letters marked as "draft, imaginary, DO NOT PUBLISH!!!!!!!") describing a conference on all things open source behind the scenes. The format helped identify important open question marks – like: 

  • "We don't have a name for the event yet!"
  • "We need to decide on a date."
  • "We need to come up with a clearer list of topics to cover."
  • "What's our target audience?"
  • "If this is a full day event – what will we do about catering?"

What helped me personally was having learnt from Sally in her ASF media training what a real press release actually should look like. 

As for the name that was found missing in the initial press release draft:  After weeks of trying several approaches to come up with a catchy name, I went to pick up my child from kindergarten. What caught my eye was a poster announcing a beneficial concert to collect donations for better equipment and toys – an *a capella* concert: .oO(FOSS A Capella?) .oO(FOSS Backstage?)

The press release formatted version of the vision was first run by Europace – though people here are fairly regularly running after hours meetups, hosting an entire full-day conference is a slightly different scale. After the idea had been met with approval here, it was run by the Apache Community Development mailing list – which we used to keep current planning status transparent and public. 

With the idea out in the open it grew beyond something that can easily be run as a small side project. Years ago to create Berlin Buzzwords I had been working together with an event agency called newthinking communications GmbH. They were founded in 2003 by Andreas Gebhard and Markus Beckedahl in the spirit to create a network on the interface between digital technologies and society. Today, the focus lies in the organisation of events such as Berlin Buzzwords and FOSS Backstage as well as content management services (based on Drupal) for NGOs and political parties as well the conferences named above. So I got in touch with newthinking – and was delighted to receive "Sure, we are going to help out" as an answer. 

So, what about the cookies? One of the first offers I received after publishing that we were to run a FOSS Backstage full day Micro Summit in November 2017 was: "If you need support with providing cookies for the coffee break – I'm happy  to bake some, if there's no more than 40 attendees." Half jokingly I responded that I would add another 40 cookies, lest someone sends me a 3D model of an ASF feather cookie cutter. Lo and behold  the next thing I know is that someone sends me a model file for an ASF cookie cutter (which by now even made it to the then VP trademarks – who was interested in putting it to good use himself). Just a few weeks later I attended Open Source Summit in Prague. Guess what happened? Someone who knew I'd be there brought some printed cookie cutters with him from Australia.

In the meantime we had a one day / two tracks FOSS Backstage Micro Summit in November 2017 kindly hosted by Europace AG. I was able to talk several people into baking ASF cookies (including sugar coatings in the appropriate colours). In addition with the support of both, Newthinking communications GmbH, the ASF planners, and the ASF community development PMC an Apache Roadshow was co-located with the actual FOSS Backstage in June this year – a two day, multiple tracks event featuring Danese Cooper and Shane Coughlan for keynotes, a host of speakers with all sorts of relevant and inspiring stories to share, as well as fishbowl discussions on topics like Open Source monetization. One of the loveliest feedback we received: "This doesn't feel like an inaugural conference, given the professional organisation. You surely did manage to successfully invite people from a great variety of FOSS projects and foundations."

Having a press release draft ready was helpful when starting to drum up interest for the real event: With all details filled in, the "Draft/ Do not share"-warning removed it ended up getting sent to the press and published for real.

We started with a scope of all things FOSS economics, decentralised organisation, cross-cultural team-building, volunteer motivation, licensing and legal. In 2019 we want to align these aspects towards InnerSource, work collaboration principles and modern work models so that teams, companies and organisations can learn from the experiences we all make while working on Open Source projects. We are glad to have the event backed by newthinking GmbH next year again.


Isabel Drost-Fromm is (currently board-) member of the Apache Software Foundation, co-founder of Apache Mahout and mentored several incubating projects. Interested in all things search and text mining with a thorough background in open source project management and open collaboration she is working Europace AG as Open Source Strategist. True to the nature of people living in Berlin she loves having friends fly in for a brief visit –- as a result she co-founded and is still one the creative heads behind both, Berlin Buzzwords, a tech conference on all things search, scale and storage as well as FOSS Backstage, a conference on all things Free and Open Source behind the scenes and how it interrelates with business and InnerSource.

= = =

"Success at Apache" is a monthly blog series that focuses on the processes behind why the ASF "just works" https://blogs.apache.org/foundation/category/SuccessAtApache

Monday November 05, 2018

Success at Apache: Wearing Small Hats

by Rich Bowen

Within The Apache Software Foundation, many of us have different roles. I am a committer on the Apache httpd project, and also a PMC member on that project. I am the Vice President, Conferences. I am a board member. And I’m a member of the Foundation. I'm also an employee of Red Hat, and may, at times, be perceived to be speaking for my employer.

I am a father, husband, brother, son, employee, and so on. How I interact with my daughter is very different from how I interact with my manager. I use different language, wield different authority, and expect different results.


Ten years ago at ApacheCon in Oakland, Bertrand Delacretaz gave a talk about hats. We all laughed a lot. But he was making a serious point. At the Apache Software Foundation –indeed, in life– we all wear many different hats.

However, whereas it's pretty clear, in real life, whether I’m addressing my daughter or my manager, on Apache mailing lists it's seldom, if ever, clear which hat I'm wearing in any given situation.

I like to operate on the following principle when communicating in the Apache community: Wear the smallest hat possible for the situation, but assume that everyone is seeing the biggest hat possible.

So, what does that mean?

In the list above of my Apache hats (Committer, PMC Member, Foundation Member, V.P. Conferences, Director), there are various levels of authority. As a project committer, I can make code changes, but as a PMC member, I can reject other people’s changes. As a Foundation Member, I can express an opinion, but as a Director, I can state the official position of the Foundation.

The difficulty comes when, on a mailing list, I say something, intending it to be my personal opinion (i.e., Foundation Member hat) and someone reads it as the official position of the Foundation (i.e., Foundation Director hat).

Thus, in any given situation, I have an obligation to wield the smallest stick I possibly can, appropriate to the situation. Also, to clearly communicate how I am speaking, if there’s any chance of confusion, by saying things like "speaking as a member, and expressing my private opinion …", or "It is the opinion of the Board of Directors that …"  And, since there’s always a chance of confusion, due to many factors, it’s worthwhile to make this clarification almost every time, if you’re in a position where you do, in fact, wear multiple hats.

By wearing the smallest hat possible i.e., speaking with the voice with the least authority you allow other people to be free to express their own dissenting opinions without feeling that they have already been overruled. This is in line with our culture of providing a level playing field, where all voices are equal, and all opinions are weighed the same.

Rich Bowen has been doing open source-y stuff since about 1995, and has been a member of the Apache Software Foundation since 2002. He currently serves on the ASF Board of Directors. By day, he's the CentOS Community Manager, working for Red Hat.

= = =

"Success at Apache" is a monthly blog series that focuses on the processes behind why the ASF "just works" https://blogs.apache.org/foundation/category/SuccessAtApache

Monday October 01, 2018

Success at Apache: carrying forward the benefits

by Mikael Ståldal

Back in 2013, I worked as software developer and architect at a small IT company. We needed a logging framework for the Java based server platform we were developing. Initially, we tried to use the java.util.logging framework built in to the Java platform. But we soon realized that it was insufficient for our needs.

Looking for alternatives, I found Apache Log4j 1.2 and Logback 1.0. I was not very impressed with either of them, and a bit frustrated with the fragmentation of logging frameworks for Java.

Then I discovered Apache Log4j 2, which was still in beta, but looked promising and I decided to try it out. It worked well for us, and I decided to get involved to improve and contribute to it. I hoped that it once will become the standard logging framework for the Java platform.

We used Graylog to aggregate and analyze log events, and I developed a plugin for Log4j 2 to make it easier to integrate with Graylog. This plugin, GelfLayout, was contributed to the project and became part of Log4j 2. Then I got invited to be committer in the Log4j 2 project.

2015 I got a new job at another IT company. We also needed a Java based logging framework, and I introduced Log4j 2. We found the plugin I had developed at the previous job useful. Later, I developed another plugin for our needs, KafkaAppender, and contributed it to the project. Then I got invited to the Apache Logging PMC (as a committer September 2015, and later member of the Project Management Committee June 2016).

So, thanks to open source and the Apache Software Foundation, I was able to develop a software component when working for one employer, and then continue to use it at my next employer.

How can you do this yourself? Most likely you already use some open source software at work, and there are probably cases where it can be changed to fit your needs better. Make use of your right to make changes, and consider contribute them upstream if they constitute generic improvements. That will benefit the larger community by improving widespread software. It will also benefit the company you work for since they will get less maintenance burden when never versions are released. And finally it will benefit your future self when you work for another company using the same open source software. Read more about how to contribute to an Apache open source project here: http://apache.org/foundation/getinvolved.html


Mikael Ståldal works as software developer, developing mostly in Java and Scala. He has worked at various IT companies in Stockholm. Mikael is also committer and PMC member of the Apache Logging Services project.

= = =

"Success at Apache" is a monthly blog series that focuses on the processes behind why the ASF "just works" https://blogs.apache.org/foundation/category/SuccessAtApache

Wednesday September 05, 2018

Success at Apache — 赢在 Apache: If it helps others, all the better.

by Sally Khudairi, with contributions by Ignasi Barrera, Von Gosling, Luke Han, Kevin A. McGrail, and Anthony Shaw. Translations by Ted Liu and David Zhenwei Dong.

I became active in The Apache Software Foundation at its inception in 1999. I am responsible for elevating the ASF's visibility, and supporting the Foundation by counseling 350+ Apache projects and their communities in the areas of messaging, outreach, and engagement.

As a global, virtual, and diverse community, the ASF relies on countless Apache Members, Committers, and Contributors to help share our values and explain our processes with others. We have grown from a single project to hundreds of projects and communities https://projects.apache.org/committees.html?date through "The Apache Way": an inclusive process and judicious reinforcement of "Community Over Code". 

We launched the "Success at Apache" blog series following the Media & Analyst Training at ApacheCon Seville in 2016. I asked ASF Board Member and VP Brand Management Mark Thomas his opinion on what he thinks are some of the reasons that the ASF "just works". His immediate response was: "project independence". I asked if he'd put that in writing —in his own words— as our community members' personal experiences help others see The Apache Way through their unique perspectives. Shortly afterwards, we published "Project Independence" https://blogs.apache.org/foundation/entry/success_at_apache_project_independence and "Success at Apache" was born https://blogs.apache.org/foundation/feed/entries/atom?cat=SuccessAtApache

Whilst English is the ASF's official language, localization often helps foster understanding,  encourage adoption, and onboard new contributors more quickly. A while back, ASF Member Ted Liu told me that he and some of his coworkers had translated a handful of our "Success at Apache" blog posts into Mandarin Chinese. He asked if it would be useful to us.

Why yes, of course: new approaches to promote and propagate The Apache Way are always appreciated.

. . . 

赢在 Apache

- Meritocracy, by Kevin A. McGrail, Vice President of ASF Fundraising. Translation by David Zhenwei Dong.

- Lowering Barriers to Open Innovation, by Luke Han, Vice President of Apache Kylin. Translation by David Zhenwei Dong.

- Scratch Your Own Itch, by Ignasi Barrera, a member of the Apache jclouds PMC. Translation by Ted Liu.

- Contributing to Open Source Even with a High-pressure Job, by Anthony Shaw, contributor to over 20 Open Source projects, including Apache Libcloud. Translation by Ted Liu.

- Open Innovation from a Non-native English Country, by Von Gosling, original co-founder of Apache RocketMQ. Translation by Ted Liu.

. . .

Ted's action reflects one of our greatest successes at Apache: the mindset of "If this is helpful to me, that's good (= "scratch your own itch"). If it helps others, all the better." 

After all, we didn't become the world's largest Open Source foundation by not being helpful. There's always something needing to be done in an all-volunteer community: if you'd like to help the ASF, we will happily accept your assistance where possible. Plus, helping others feels pretty great.

Whether contributing code and writing documentation http://apache.org/foundation/getinvolved.html , mentoring community members http://community.apache.org/ , supporting the ASF through an individual donation or corporate sponsorship http://apache.org/foundation/contributing.html , or serving in myriad other ways https://helpwanted.apache.org/ , we thank you.

For an immersive, rewarding experience with dozens of Apache projects and hundreds of user and developer community members, consider joining us at ApacheCon in Montreal 24-27 September 2018 http://apachecon.com/ . This year's event is extra special, as we're celebrating the 20th Anniversary of ApacheCon —huzzah! All are welcome https://blogs.apache.org/comdev/entry/my-first-experience-of-apachecon

We look forward to seeing you there and sharing your Success at Apache.


Sally Khudairi is Vice President of Marketing & Publicity at The Apache Software Foundation (ASF) where, in 2002, she was elected its first female and non-technical Member. Over her 25-year career in the Web, Khudairi has been lauded as a dynamic communications strategist and expert in next-generation innovations, and has played an integral role in building campaigns for some of the industry’s most prominent standards and organizations. Prior to launching the ASF in 1999, Khudairi was deputy to Sir Tim Berners-Lee as Head of Communications at the World Wide Web Consortium (W3C), overseeing the launch of 17 specifications that include PNG, CSS, HTML4 and XML. She is Managing Director/Luxury & Technology Practice lead at HALO Worldwide and Founder/Chief Marketing Officer at OptDyn.

= = =

"Success at Apache" is a monthly blog series that focuses on the processes behind why the ASF "just works" https://blogs.apache.org/foundation/category/SuccessAtApache

Tuesday August 07, 2018

Success at Apache: the Apache Legal Shield - a pragmatic view

by Bertrand Delacretaz

I became active in the ASF in 2001 via Gianugo Rabellino -- he was the one who started the discussions with Apache Fop about me donating the jfor XLS-FO to RTF converter that I had developed earlier. It was already too late to uninvent RTF which is a terrible format, but I digress. I am currently a member of the Board of Directors of the ASF and have been doing a lot of thinking (and presentations) about what makes the ASF tick in terms of collaboration and Shared Neurons.

Section 12.1 of the Apache Bylaws https://www.apache.org/foundation/bylaws describes the legal protection that the Apache Software Foundation provides to our directors, officers and members.

I'm not a lawyer by far, however, and that language is a bit hard for me to parse, so I thought I'd try to clarify what this means for our contributors and learn more about it in the process.

If you go into detail there's certainly more to it but I think the items below are the absolute basics that every PMC member https://www.apache.org/foundation/how-it-works.html should understand in order to benefit from the legal shield that the Foundation provides.

What is a "Legal Shield" ?

An important goal of the Apache Bylaws and policies is to isolate our contributors from any legal action that might be taken against the Foundation, if they act as specified in those policies.

That's what we mean by "legal shield": a way for our individual volunters to be sheltered from legal suits directed at the Foundation's projects, as mentioned in our "How the ASF works" document https://www.apache.org/foundation/how-it-works.html .

Acts of the Foundation

The first thing is to make sure our software releases are "Acts of the Foundation" as opposed to something that people do in their own name. This is natural if we follow our release policy https://www.apache.org/legal/release-policy.html , which defines a simple release approval process for releasing source code that makes the project's PMC https://www.apache.org/foundation/how-it-works.html responsible for the release, as opposed to our individual contributors and release managers.

This means that if the released software is ever involved in legal action and someone has to testify or produce information as part of a subpoena, or worse, it's the Foundation which is in charge of that and not our individual contributors. These things happen from time to time, not very often but they can represent a lot of work and aggravation that none of us are looking for. The 2011 subpoena to Apache around Java and Android http://www.groklaw.net/articlebasic.php?story=20110509221136468 is just one example of that. Produce documents reflecting all communications between someone and Apache, how fun is that?

The goal of our release process is to make it very clear what an Apache Release is, and also clarify that anyone using our software in other ways, by getting it directly from our code repositories for example, does so at their own risk. If it's not an Apache Release we didn't give it to them, they grabbed it on their own initiative and have to accept the consequences of that.

The Rest is for Contributors

This leads to a second and related item: developer builds, which happen much more often than releases, often daily, and that people can easily download and use.

Those builds are meant for contributors to our projects, to use in development and testing as part of their contribution activities.

To avoid any confusion, it is important to clearly label them as such, and to draw a clear line between them and official Apache Releases. They should only be advertised in places where developers who are part of our communities (as opposed to the general public) can see them, and with suitable disclaimers.

In our world of continuous deployment and automated builds, the lines between what's a release and what's just tagged code that works for someone are often blurred. That's totally fine from a technical point of view, and often desirable when one wants to move fast, but we shouldn't forget about the possible legal implications ot distributing software.

Let's make sure we take advantage of the well-designed Apache Legal Shield that the Foundation provides to us, by strictly following our release policy and clearly specifying what is what in terms of downloadable software.

I never thought I'd write a blog post on a legal topic, so here's the FUN DISCLAIMER: As mentioned, I am not a lawyer by far, and the above should not be considered legal advice - just a pragmatic view that can hopefully help our contributors better understand the related issues. For legal advice, consult your own legal advisor! And if you're thirsty after reading all this, get a drink and give a toast to the ASF and its founders!

Many thanks to the fellow Apache members who provided feedback and additional ideas for this post.

. . . 

Bertrand Delacretaz works as a Principal Scientist with the Adobe Research team in Basel, Switzerland. He spends a good portion of his time advocating and implementing Open Development as a way to make geographically dispersed teams more efficient and more fun for his coworkers. Bertrand is also an active Member of the Apache Software Foundation, currently on his tenth term on the Foundation's Board of Directors (Fiscal Year 2018-2019).

= = =

"Success at Apache" is a monthly blog series that focuses on the processes behind why the ASF "just works" https://blogs.apache.org/foundation/category/SuccessAtApache

Monday July 09, 2018

Success at Apache: The Apache Way for Executives

by Alex Karasulu

I'm a long time member of the Apache Software Foundation and have been an executive officer of several corporations over the course of the past 20 years. I've co-founded several projects in the community and mentored several others.

The "Apache Way" has benefited several aspects of my life, however I never imagined it would help make me a better executive. Even non-technical executives, in organizations totally outside of the realm of technology, can benefit from the Zen of the Apache Way.

Life is hard when you're stupid

I was involved in a number of early dot com startups as an executive, however that was before my involvement with Apache and long before any exposure to the Apache Way. To this day, I remember how opportunistic decisions for short term gains, the lack of collaboration, openness and communication kept causing friction that made my job and ultimately my life much harder than it had to be.

Learning while on the job

Exposure to the philosophy began early even while lurking on mailing lists but picked up more while incubating the Apache Directory Project where I worked with others to grow an active community. Meanwhile, I was the Chief Technology Officer of a large financial services company called Alliance Capital Partners. It was 2002, and the first time I had to conduct myself as a C-Suite executive in an enterprise that was obviously not a technology company. Incidentally, the lack of hands-on coding got me working on a pet project that ultimately became the Apache Directory Server and Apache MINA. The project was medicine to keep me sane and technically up to date. Unbeknownst to me, this would save my career, not as a developer, but as an executive.

The Apache Way makes life easier

The most important and first lesson I learned from the Apache Community was to avoid short term gains that were unsustainable in the long term. This very important core principle derives in part from the concept of "community over code". It does not matter how much code you write, or how good your code is if you cannot get along, compromise, and communicate respectfully with your peers. The code does not write itself, its the community behind it that keeps the code alive. Involving only the most technically proficient contributors should never trump the need to build a sustainable community. I saw projects often suffer from self-centered yet skilled coders added as committers for short term gain at the detriment of a healthy sustainable community. So as a corollary to community over code, avoid short term gains that get in the way of the long term sustainability of an organization's culture. This has immense applications for any executive in both technical and non-technical fields.

While growing my new development organization in this financial services organization, I decided to avoid hiring people that seemed to be very skilled technically but lacked the desire or social skills to collaborate with others. Thanks to experiences at Apache, I could start telling them apart much better than I did before. Also, I was calmer and less anxious when hiring to fill gaps on the team. It was better not to have the resource than to introduce a bad apple onto the team. 

This was contrary to how I had operated earlier and started producing great results. The application of this basic principle lead to a solid team that worked better together than ever before in the past. They were able to leverage each others' skills thanks to collaboration to out perform any one skilled developer. This is all thanks to the concept of community over code where social skills, and collaboration were stressed more than technical skills. In the end, being kind, listening, and asking smart questions begets the kind of collaboration needed to build complex software. 

Not only did this help with developers, it also worked with teams that did not produce code like project managers under the CTO office. The rule is golden, and IMHO should be applied to any executive's decision making process regardless of the nature of the business or topic at hand.

Inner Source is the Apache Way

Executives drive the architecture and cultural direction of their organizations and the Apache Way provides a solid framework to create healthy foundations through open collaboration, communication and the availability of knowledge for everyone to participate.

Several very successful technology companies have adopted the Apache Way without really realizing they're doing so.  In 2000, Tim O'Reilly coined the term Inner Source https://en.wikipedia.org/wiki/Inner_source to apply Open Source principles to any organization. Tim was essentially talking about applying the Apache Way within organizations. The Apache Way has proven itself with companies like IBM, Google, Microsoft, SAP, PayPal and even financial institutions like Capital One which have adopted the Inner Source methodology which is one and the same.

Without going into the details, of which we the Apache Community are intimately aware (using it daily within our projects), I would like to stress how important the approach is for executives outside of Apache to understand. The Apache Way can save organizations from all out disaster, not to mention billions of dollars by impacting the quality of services and products they produce. Again this does not only apply to companies in technological sectors. Capital One a financial services company has also used Open Source methods for internal projects to be extremely successful https://www.oreilly.com/ideas/using-open-source-methods-for-internal-software-projects .

Conclusions

The Apache Way provides several benefits to executives aware of the approach. Executives can directly integrate the principles of the Apache Way into their own thinking to improve their potential for personal success. However the biggest value comes from the cultural framework it produces for the entire organization, however to leverage it in their organizations, executives must be aware of it. The Apache Way has personally helped me grow as an effective executive and it can help others as well. It also provides a compass for how to properly build effective organizations, not only technical ones.


Alex Karasulu is an entrepreneur with over 25 years of experience in the software industry and a recognized leader in the Open Source community. He is widely known as the original author of the Apache Directory Server, used by IBM both as the foundation of the Rational Directory Server and also integrated into the Websphere Application Server. Alex co-founded several Apache projects, including MINA, and Felix, among others, which, along with their communities, thrive independently past his day-to-day involvement in the projects. He is the founder of Safehaus, where he authored the first low-resource mobile OTP algorithms in Open Source with the OATH community that was later adopted by Google in their Authenticator product. In addition to IBM, Atlassian, Cisco, and Polycom are just a few of the many companies that sell commercial hardware and software solutions that bundle or embed software and products that Alex has created. Alex holds a BSc. in Computer Science and Physics from Columbia University. He is the founder and co-CEO of OptDyn.

= = =

"Success at Apache" is a monthly blog series that focuses on the processes behind why the ASF "just works" https://blogs.apache.org/foundation/category/SuccessAtApache

Calendar

Search

Hot Blogs (today's hits)

Tag Cloud

Categories

Feeds

Links

Navigation