Abstract

Pony Mail is a mail-archiving, archive viewing, and interaction service, that can be integrated with many email platforms.

Proposal

Background

Pony Mail began as a response to two things; the lack of diversity in mailing list archives that are less bureaucratic all-or-nothing and more fluid way to interact with mailing lists than what is typically offered, and the lack of a performant system that solves this issue. Modern users of software want to jump right into a discussion they see, but cannot normally do so in a mailing list driven environment because of the rules generally surrounding said environment. Pony Mail, along with a select handful of newer archive systems, provides an interface that allows people to just hop into a thread, and take part. Without the need to subscribe, download the mbox archive, load it into your MTA, and respond.

_ As Rich writes in a very short essay:_

You see a thread in which someone is WRONG ON THE INTERNET! You need to correct them. How do you do this today? You kinda don't. If you really wanted, you could download mbox files (and who the hell knows where they are?) and then try to get them into your mail client (which never works) and then reply to it. Which will break threading, because you did something wrong. Then you tear out your hair. PONY MAIL TO THE RESCUE!!! (sound of hoof beats)

Rationale

One of the oft-heard complaints about Apache's development model is that mailing lists are an old person's tool, and web-based communication - forums - are the way to go in the 21st Century. Providing a full-featured forum-like interface to mailing lists is one goal,while keeping all of the enormous benefits that mailing lists already provide. Asecond goal is to provide the ability to "jump in" to a mailing list conversation - even one that was a while back, without the convolutions that a mailing list requires. That is, to join this conversation the old way, one would have had to subscribe to the mailing list, download an mbox, and import it into ones mail client, in order that I be able to reply to this message with correct threading. With Pony Mail, one has to do none of those things, but can simply reply using the Web UI. To us, this is a HUGE benefit for building community. The requirement to jump through hoops to join a mailing list conversation drives away a lot of people (at least, anecdotally, it does) and if we can remove that barrier I think we'll have an easier time of drawing a new generation into our projects.

Initial Goals

The initial goals of transitioning to the ASF is to expand and grow both the Pony codebase and community, and ensure the project's continued growth and stability through forming a diverse and reliable community, in which the various facets of developers and contributors help keep the project up to date with latest developments and technical as well as social needs.

Current Status

  • Meritocracy:

The bulk of the code has been written by Daniel Gruno to date, but has had oversight from other committers, and mentors.

  • All members of the Pony project and wider community have a deep understanding and appreciation for the ASF meritocracy ideals, and are almost solely current ASF Members.
  • Community:
    • The community is currently heavily focused within the ASF, and more specifically the Infrastructure group. This is to be expected given the nature of how the code came into existence in the first place. It should be noted that we have started reaching out to other groups who we know are using mailing list systems and therefore also rely on mailing list archive interfaces.
  • Core Developers:

Almost all core developers are ASF members, and are already intimately familiar with the Apache Way.

  • Alignment:

Pony will be very in line with ASF practices and processes as many of the founding members are long term ASF members and committers.

Known Risks

  • Orphaned products:

We are not aware of any issues with orphaned products related to this project.

  • Pony Mail relies on a set of CSS3 templates as well as some very stable
    • programming languages. We have no reason to believe these would be orphaned or, should they become orphaned, that it would impact the development of the project.
  • Inexperience with Open Source:
    • Most of the current committers are already ASF members and committers, we do not believe there to be any concerns around OSS inexperience.
  • Homogenous Developers:
    • While the current mix of people involved in the project spans several continents with a wide variety of skills and experience, a long standing relation with the ASF applies to all committers (even the non-ASF people in this proposal are intimately familiar with the ASF), and we believe there to be a very homogeneous culture in terms of development, IP and release processes.
  • Reliance on Salaried Developers:
    • While two of the committers in this project are salaried developers with regards to Pony, the project was founded outside of corporate interests, and is primarily driven by people either working for or with ties to non-profit organisations.
      We see no issues regarding possible strong-arming or otherwise skewing project focus, nor do we believe that absence of salaries would deter people from committing to this project.
  • Relationships with Other Apache Products:
    • Pony Mail uses at least Apache HTTPd with mod_lua as its end-user facing delivery mechanism. Many of the commiters are also involved with this PMC. Pony also utilises ElasticSearch which is based on Lucene.

Documentation

  • Documentation will initially be in the source tree, and be part of the initial code inclusion.

Initial Source

Source and Intellectual Property Submission Plan

  • We know of no legal encumberments in the way of transfer of source to Apache. Portions of the software (sans dependencies) is already owned by the ASF, other portions privately, but it will be granted to the ASF in its entirety.

External Dependencies:

  • ElasticSearch backend (Apache License v/2.0)
  • Apache HTTP Server front-end with mod_lua loaded (Apache License v/2.0 for httpd, MIT for Lua)
  • Python 3.x for importing/archiving (PSF License)
  • Lua 5.1 or 5.2 + lua-cjson (MIT License, lua-cjson is optional)
  • Bootstrap/JQuery (MIT License)

Cryptography Pony employs no cryptography other than what TLS-enabled web sites served by HTTPd might use.

Required Resources:

  • *Mailing lists:*It would be rude not too, given this project should archive them.
  • *Subversion Directory:*Nope
  • Git Repositories:
    • - incubator-ponymail.git - incubator-ponymail-site.git
  • Issue Tracking: JIRA or GitHub Issues
  • Other Resources: Dev stack, PoC Stack, HipChat Channel

Initial Committers

  • Daniel Gruno < humbedooh@apache.org >
  • Tony Stevenson < pctony@apache.org >
  • Richard Bowen < rbowen@apache.org >
  • Ulises Beresi < ulises.cervino@gmail.com >
  • David P Kendal < apache@dpk.io >
  • Francesco Chicchiriccò - < ilgrosso@apache.org >
  • Sam Ruby < rubys@apache.org >
  • Shane Curcuru < curcuru@apache.org >
  • Jim Jagielski < jim@apache.org >

Affiliations

  • Daniel Gruno - Quenda IvS
  • Tony Stevenson - pctony ltd, VocalIQ Ltd
  • Richard Bowen - Redhat, inc.
  • Ulises Beresi - Datastax, inc.
  • David P Kendal - Quenda IvS
  • Francesco Chicchiriccò - Tirasa S.r.l.
  • Sam Ruby - IBM
  • Shane Curcuru - IBM(question)
  • Jim Jagielski - Capital One

Sponsors

  • Champion:
    • Suneel Marthi < smarthi@apache.org >
  • Nominated Mentors:
    • Andrew Bayer < abayer@apache.org >
    • John D. Ament < johndament@apache.org >
  • Sponsoring Entity:
    • The Apache Software Foundation
  • No labels