Benoît Tellier has just been promoted as Chairman of the Apache James project !
LINAGORA started to contribute to the project in 2014, and is since very active to the Apache James’ community. Threw this project, LINAGORA has always been looking for a way to develop a scalable email server. Apache James is the email server of OpenPaaS. This nomination represents a lot for LINAGORA : The Apache James community trusts our work and implication.
Read Benoît Tellier’s article about the Apache Jame’s Project :
Free Software development through shared governance
I initially joined LINAGORA because I wanted to be involved in the development of free software – which I had never done before.
Free Software development can simply be defined as a software that we can:
— Read its source code
— Modify its source code
— Use and execute the source code or its modified version
— Share it or its modifications
These rights are guaranteed through the use of free licenses such as the GPL license.
Nevertheless, the legal aspect of Free Software isn’t what motivated me most. I could write, alone, on my own personal projects and then publish it under a free licence. Technically speaking, it’s a free software, but its « soul » is lacking.
I was looking for useful contributions on known and used projects. I was looking for interactions, and towards sharing knowledge with international experts. I was looking for mentors to guide me.
One could argue that “Free Software” as defined before leads to “the freedom to work on your side, alone”. . Without an additional ingredient, this leads to forks, frustration and isolation. And this isolation directly affects the viability of such projects.
Interesting… But what ingredients could it be ?
In my opinion it’s about shared governance :
Project members can discuss, debate,
exchange ideas, and choose
arrangements in a safe and welcoming environment.
– Decisions are made by the entire community, with a real concern for consensus.
Shared governance in practice
This shared governance is at the heart of the Apache Foundation’s DNA. It is also one of the main points of attention of the James team in LINAGORA. So we’ve been thinking about an action list to strengthen it.
— We need to clearly expose our goals: why do we contribute, what are our objectives, what means are we willing to dedicate to the achievement of these goals, etc.
– Nous devons expliquer ce que nous faisons**: Nous créons des tickets détaillé, avec assez de détails techniques, en amont du développement. Nous gérons publiquement nos contributions, qui sont référencées depuis les tickets.
— We expose what we will do: We explain features we contribute, and why they would benefit the community.
— We enforce vote and aim for consensus: this is a key rule for the Apache foundation
— Adopting a flexible enough plugin architecture. Having a customizable solution also lowers the friction between community members.
That’s good! We have the basis for collaboration between members of the project… But.. Something is missing! The said members…
Attracting new contributors
Because shared governance cannot be done alone, because the lives of members change, we must constantly attract new contributors. A core concern we, of course, debated…
— We lowered the on-boarding coast: Using Git, exposing the project on GitHub. We built a Jenkins CI already set up for James. We updated loads of documentation and tutorials.
— We eased the contribution workflow: We use common processes via GitHub, we offer builds on contributor pull requests using our CI (Continuous Integration, via Jenkins).
— We release often: Because people are eager to use the awesome stuff we work on, we ship a new James version alongside the OpenPaaS releases every 3–4 months.
— We create easy to handle, welcoming newbie tickets for which we provide reviews, resources and guidance. Through such tickets, the community completed the “health check” feature as part of the 2018 HacktoberFest.
— We sadly cannot make all the features we implement for all James products. However we constantly keep track of these missing bits of implementation through tickets.
— We organized ourselves, with dedicated rotating roles to deliver quick answers and feed-backs to the community
Of course, the above list is partial, and we are more than open to any correction and suggestion!
In conclusion, I am very pleased to have participated in setting up what I was looking for. I am very interested and eager to see the results of these massive ongoing efforts .
The author, Benoit Tellier worked for 5 years at LINAGORA, and is devoted to the Apache James project. As a reward of the intense involvement of LINAGORA employees in the Apache James community, he was recently been promoted as Apache James project chairman. This is a concrete recognition of LINAGORA Free Software development involvement and expertise.
LINAGORA contributors desire to build a distributed, scalable mail server, targeting deployments of hundreds of thousands users, without the need of classic sharding technics. We want this mail server to be easily customizable. Our efforts are mostly directed towards an MDA (Mail Delivery Agent) platform based on the JMAP protocol.