Skip to content

Conservancy application

larjona edited this page Jul 31, 2016 · 27 revisions

This page is frozen and it's kept as is for archive purposes. The text below is going to be sent to Software Freedom Conservancy for applying as project member. Date of freeze: 2016/07/31 Date of application:

######################################################################

To apply to the Conservancy, please answer fully all the questions below,
in a *single* text-only (i.e., not HTML) email to
<[email protected]>.  Please try to be as concise as possible while
making sure to answer the questions fully.

If the relevant information is already gathered and publicly available,
it's ok to include URLs as answers.  However, if a given URL has lots of
information on it, please make sure that you direct us specifically to
the portions of the web page loaded by the given URL that are relevant in
answering the question.

Conservancy Application Questions:

(Numbering them to ease reference or discussion)

1
*** Why does your project want to join Conservancy?  Specifically, what
    benefits do you expect to take advantage of immediately and within a
    few years?

The project was born led by Evan Prodromou and his company E14N.
We are transitioning now to a community governance model:
* Several people have commit access to the codebase now
* We are having monthly community meetings and logs are published
* E14N is willing to allow others to adopt the pump.io nodes and services
currently handled by Evan Prodromou.
* We still didn't decide our governance structure (for now, lazy consensus
and trust Evan Prodromou's voice in controversial items)
* We need to decide some aspects of project sustainability. For example
several people want to donate some money for the project but we have
no legal
entity to accept those donations.

So we hope that Conservancy could help in these aspects, in particular:

* Conservancy could hold some project assets, e.g. copyrights, trademarks
(if any), domain names and physical computer equipment for the pump.io
nodes.
* Assistance with basic legal services, non-profit governance and decision
making process.
* Fundraising assistance and legal entity

2
*** Conservancy does encourage projects to apply to multiple non-profit
    homes to find the best fit.  Does your project have an application
    pending with any other non-profit homes?  What do you see as the pros
    and cons of the various organizations you've applied to?

No, this project does not have applications pending with any other
non-profit homes.

3
*** Please give a detailed description of the project.

Pump.io is a social network engine, designed to be decentralized, and
built entirely
on free (FLOSS) software. The license is Apache 2.0 and the
programming language
is Node.js. The source code is hosted in https://github.com/e14n/pump.io

The main components of this software are:
* The server, that can communicate with other servers and stores the
contents in a
database.
* The web interface, which is only one way for interacting in the
social network
* The API, that allows creating libraries, programs and services for
extended features.

Thanks to the powerful API, there are already written some other
libraries, programs and
services that use the pump.io software:
* Clients: desktop and mobile clients, alternative web interface.
* Libraries: in Python, in Ruby and in PHP
* Services: bridges to other social networks, web services to help
control the traffic,
to ease discovery of content and users of the network...

Some of those clients, libraries and services are orphaned or nearly
orphaned as software
projects but there are users and members of the community willing to
adopt them, so Conservancy
could help us to handle those situations too, we hope.

From the user perspective, the pump.io is a working social network,
there are dozen of server
deployments in different sizes: we have 11 servers handled until now
by E14N (one of them is
identi.ca with thousands of active users), some people selfhosted
their personal or family accounts
and others deployed public servers with open registration (for example
https://mipump.es with +400
users).

4
*** What FLOSS License(s) does your project use?  Please include the
    primary license, and list other licenses for code that is included.
    (e.g., "The project as a whole is GPLv3-or-later, but about a dozen
    files in the directory src/external/ are under the Apache-2.0
    license").  Please be sure to include information on documentation
    licensing as well as software licensing.

The project software is licensed under Apache License 2.0.

However, there are several popular JavaScript libraries under the
`public/javascript/libs` directory which are under various licenses:

* Backbone.js: MIT
* Bootstrap-lightbox.js: Apache 2.0
* Bootstrap.js: Apache 2.0
* JQuery: MIT
* JQuery.easydate: MIT
* JQuery.fineuploader: MIT
* json2.js: Public Domain
* Modernizr: MIT
* oauth.js: MIT
* select2.js: Apache 2.0/GPLv2 dual license
* sha1.js: BSD 3-clause
* sockjs: MIT
* spin.js: MIT
* wysihtml5.js: MIT
* bootstrap-wysihtml5.js: MIT
* JQuery-spin.js: Apache 2.0
* Underscore.js: MIT

The project also installs numerous dependencies automatically via npm
(i.e. not included directly in the repository). There are too many to
enumerate here, but they're all licensed under licenses compatible
with the FSF free software definition and the OSI open source definition.

5
*** Please give us your roadmap and plans for future development of the
    project, including both code and community plans.

* Version 1.0 to be released on Summer 2016: mainly fixing bugs and
updating dependencies
* 1.1 will upgrade some other dependencies (Express) and rewrite of
the templates in a language that is maintained (the current language
of the templates is unmaintained).
* The community will set a roadmap for 1.x or 2.x versions after 1.0
is released
* The short-term milestones in the community roadmap are: setting a
Code of Conduct (done), applying to Conservancy, set an adoption plan
for current pump.io servers that are administered by E14N (some of
them are pump nodes, some other host pump services), improve
documentation, agree in methods and logistics of fundraising to help
the sustainability of the project and the network.
* Long-term, we would like to migrate to newer standards being
developed in the W3C SocialWG - specifically, ActivityStreams 2.0 and
ActivityPub. There are also a lot of improvements to the Web UI's
usability that we'd like to do.

6
*** Please give us the main link to the project's primary website.

http://pump.io/

7
*** Please give us a URL to a code repository we can clone and/or
    checkout.

https://github.com/e14n/pump.io

8
*** Have you ever had funds held by the project, or by any individual on
    behalf of the project?  How and for what did you spend those funds?
    Are there funds remaining?  If so, who is holding them now?

No.

9
*** Do you have any ongoing fundraising programs for your project?  How do
    they operate, and how much funding is brought in through these
mechanisms
    currently?  Where do you expect most of your donor base to be
    geographically?

No, there are currently no ongoing fundraising projects.
Our donor base is expected to be distributed geographically all around
the world.

10
*** Going forward, once inside Conservancy, how do you expect to spend
funds
    that you raise?  What types of activity do you want to ask
Conservancy to
    take on your behalf?  Where geographically do you want those
activities
    to take place?

Funds would go mainly to:
* fund developer time so certain bugs are fixed or certain features
developed
* promotion of the project to increase adoption
* cover the costs of the community infrastructure (domain
names and virtual machines hosting pump.io nodes) as needed

11
*** Is your project able and willing to participate in fundraising
    campaigns with Conservancy on an annual or perhaps more frequent
    basis?

We are willing to participate in fundraising efforts.

12
*** Does your project owe funds to anyone?

No.

13 *** Who currently holds your projects' trademarks, if any?  When
was your
    projects' name first used, and who used it?

E14N Inc.
4690 rue Pontiac - Montreal, Quebec H2J 2T5 - Canada
+1-855-946-3675
[email protected]
https://e14n.com/

14
*** Does you project have a logo?  If so, who drew it, when did they draw
    it, where is it displayed and what is its license?

Yes:
https://commons.wikimedia.org/wiki/File:Pump.io-logo.svg

2014/04/17, by Mathias Gebbe <[email protected]>, CC-By-3.0

Idea taken from the pump symbol
https://commons.wikimedia.org/wiki/File:Pump.svg
in public domain.

15
*** Are you aware of anyone in your project, individual or company,
    holding a patent in any jurisdiction that are in any way related to
    your project?

No.

16
*** Has your project ever had legal trouble, been involved in legal
    proceedings or received a letter accusing your project of patent,
    copyright, trademark or other types of infringement?

No.

17
*** Please give a brief history of the project, focusing on how the
    community developed and the general health of the community.  Be sure
    to include information on any forks or other disputes that have
    occurred in the community.

In 2008, Evan Prodromou launched StatusNet, a decentralized, federated
networking tool whose public face, identi.ca, became the microblogging
service of choice for many free software advocates and open enthusiasts.

In 2012 he developed Pump.io: a leaner, simpler, more efficient,
social networking server with simple APIs.

In December 2012 Evan Prodromou announced the close of StatusNet (the
project's code has since become part of the GNU Social project) and
the migration of the servers that he was handling (identi.ca among
them) to use the new Pump.io software.

Evan Prodromou deployed 10 pump.io servers open to public registration.

On July 11 2013, Prodromou finished migrating identi.ca from StatusNet
to pump.io. Identi.ca became another pump.io node, and closed
registration because it was already crowded (more than 21,000 accounts
used in 2012).

During 2014-2014-2015:

* New users registered their accounts in the E14N pump.io servers
(pump.io/tryit automatically redirects to a random server among the 10
handled by E14N).
* Some of the existing identi.ca users kept on using the social
network with their existing accounts, now with the new engine (pump.io)
* Some of the existing identi.ca users created additional pump.io
accounts in other servers, or deployed their own servers
* Some of the existing identi.ca users abandoned their accounts (went
to the GNU Social network, or other networks).
* Some people deployed pump.io servers open to public registration:
https://mipump.es https://i.rationa.li/ or
https://pump.supervacuo.com/ are some examples

About the code development, many people got interested and began to
open issues, propose fixes and new features. During 2014 and 2015 the
development stagnated, and pull requests were not merged.

In 2015/09/21 Evan proposed to transition to a community-governed
project [1] and Chris Webber (GNU MediaGoblin lead developer, and
pump.io user) hosted the first community meeting. Then other people
were granted commit rights into the codebase and work has been done to
put the code in shape to make tests pass, and begin to merge the
easier bugfix pull requests that were pending. The community wiki page
[2] summarizes the status of the community and includes the logs of
the meetings.

[1] https://e14n.com/evan/note/PfncqpQ4TpWliZTQo-jjCQ
[2] https://github.com/e14n/pump.io/wiki/Community

In 2016 we have stabilized in monthly community meetings, taking place
usually the third Friday of the month, in the public IRC channel.
During 2016 most of the work is being centered in finishing this
application to Conservancy and releasing 1.0, as well as defining the
plan for pump.io node/services adoptions for the E14N servers.

Controversial aspects to be taken into account

* The decision to migrate identi.ca to pump.io created a fork in the
community: people willing to use and develop the pump.io network, and
people willing to stay in StatusNet/GNU Social.
Although some bridges for sending notes from pump.io to GNU Social
were developed, the cism stays.

* There is work being done in the W3C Social Group in order to develop
a protocol and tools that allow a common federated social web. Pump.io
participates in this group and we're willing to adopt the proposed
standard: https://www.w3.org/TR/activitypub/

18
*** Please explain how your project is governed.  Who makes the decisions
    in the project?  How do you resolve disputes, particularly about
    non-code issues?

We have monthly IRC meetings where anybody can show up and propose
anything.
https://pumpit.info/pumpio
We try to reach consensus by dialog. We still haven't developed
decision-making processes in the community.
When there are disputes, for now, we trust Evan Prodromou's voice,
since we haven't developed community governance yet.
We have agreed to use the Contributor Covenant Code of Conduct
https://github.com/e14n/pump.io/blob/master/CODE_OF_CONDUCT.md

List of people with commit rights:
Evan Prodromou
Chris Webber
Alex Jordan
Laura Arjona

List of people with OP rights in the #pump.io channel:
Evan Prodromou
Laura Arjona (larjona)
Chris Webber

List of people handling the community account [email protected]:
Laura Arjona ([email protected] )
Jan Kusanagi ([email protected])
Chris Webber
Alex Jordan ([email protected])

19
*** Does your project currently offer, or wish to offer any consulting or
    training services (such as deployment, administration or other such
    services of the software for users) to your user base?  If so, how do
    you structure (or seek to structure) this work?

We don't offer that service.
There is community user-to-user help for users, sysadmins and developers.

20
*** Is anyone in the project currently offering a Software as a Service
    system based on project?  If so, how is that offering governed,
    coordinated and is the software that runs the service made fully
    available to your users?

All the pump.io servers are Software as a Service.
Each pump.io server should provide a contact point for its users in
the homepage.

21
*** If your project runs on Linux-based systems, please list all the
    distributions that include your project, and what "repository area"
    the package appears in.  If you aren't packaged for any major
    distributions, please tell us why you believe your project hasn't been
    packaged yet.

The software is not currently packaged for any major distribution due
to its reliance on node.js and some
 dependencies that are not fully packaged yet or are deprecated.

There is work being done in Debian:
https://wiki.debian.org/Javascript/Nodejs/Tasks/Pump.io

Other packaging efforts:
Docker image: https://github.com/e14n/pump.io/issues/789

OTOH, there is work being done in pump.io to upgrade to non-obsolete
dependencies.

22
*** Does your project have any existing for-profit or non-profit
    affiliations, funding relationships, or other agreements between the
    project and/or key leaders of your project and other organizations?
    Has the project had such affiliations in the past?  Please list of all
    of them in detail and explain their nature. Even tangential
    affiliations and relationships, or potential affiliations that you
    plan to create should be included.

No official affiliations.

Pump.io lead developer, Evan Prodromou, is member of the W3C Social Group.
Chris Webber, main GNU MediaGoblin developer, is also member of the
W3C Social Group.
The GNU MediaGoblin software uses the Pump.io API for their
implementation of federation.
The developers of 3rd party clients and servers are generally active
members in the "core" pump.io community:
https://github.com/e14n/pump.io/wiki/Clients
Some active members of the GNU Social community are also members of
the Pump.io community (from the old StatusNet times).

23
*** Approximately how many users does your project have, and what items
    lead you to believe your userbase is of a particular size (e.g., post
    counts to your user mailing list)?

Server deployments, and user base:
Some current stats: https://pumplive.com/ lists 95 hosts and 227,590
users. Among them:
** http://pumpiostatus.website/dashboard/events can reach 48 pump.io
servers
** https://pumprock.net (one of the 11 E14N servers) has 4.187 users
** https://pumpit.info has 6,009 users, https://microca.st has 5,526 users
** https://identi.ca (the most crowded E14N server, with closed
registrations) has 21.712 users
** https://mipump.es (one of the public community servers) has 440 users.
** https://i.rationa.li (another of the public community servers) has
114 users.

To take into account:
* The users of identi.ca (21.712) were accounts with at least some
activity during 2013, prior to the migration from statusnet to
pump.io. Since then, we suppose many accounts left "idle", but we
cannot say how many.
* We can talk about an average of 5,000 users per E14N server, and
there are 10 of them, hence, at least, 50,000 more users. We cannot
say how many of them are spam or idle accounts.
* 94 hosts minus the 10 of E14N can lead us to think about "dozens of
pump.io sysadmins" (people that took care to deploy a server and
register it into the network).
* The community meetings (developers, core members) usually list more
than 5 people actively participating, plus some more lurking (say
hello at the beginning).
* GitHub statistics:
https://github.com/e14n/pump.io/network/members lists 267 community
members (committers, issue reporters...)
https://github.com/e14n/pump.io/graphs/contributors lists 17
contributors (Aug 28, 2011 – Jun 24, 2016, contributions to master,
excluding merge commits)
https://github.com/e14n/pump.io/graphs/traffic lists: 22 Clones, 18
Unique cloners, 1,065 Views, 265 Unique visitors

24
*** Please list the names, email addresses, and affiliations (e.g.,
    employer) of key developers and major contributors.  Include both
    current and past contributors and developers.  Please include date
    ranges of when those developers/contributors were active.

    Please make this list as extensive and complete as possible.  You need
    not include every last person who sent one patch, but please include
    at least those who regularly sent patches or were/are regular
    contributors.  If you project has contributors who have been inactive
    for more than five years, you need only to list such inactive
    contributors if they made substantial contributions.

Evan Prodromou
[email protected]
Founder of the project, main and lead developer, code reviewer, on W3C
SocialWG group (standards building off of pump.io's work)
Founder, creator and main developer of other 3rd party services
(spamicity, databanks, open farm game, bridges to other networks, and
other)
Hosts more than 10 nodes in the network
From the beginning, on.

Alex Jordan (AJ)
[email protected]
(Self-administered) user, issue reporter/triager, programmer, code
reviewer
No affiliations (student)
Since September 2015

Laura Arjona Reina
[email protected]
User, issue reporter, issue triager, wiki editor, community manager
From Jan 2013 on.

Christopher Webber
[email protected]
GNU MediaGoblin developer, on W3C SocialWG group (standards building
off of pump.io's work)
User, occasional community organizer, commit rights
Since 2013.

JanKusanagi
[email protected]
User, issue reporter, wiki editor, documentation, API client developer.
Since March 2013.

Mats Sjöberg (sazius)
[email protected]
(Self-administered) user, documentation, API client developer (Pumpa).
Since May 2013.

Diane Trout
[email protected]
https://github.com/detrout/
User, self-hoster, issue reporter,  2 commits.

Stephen Sekula
[email protected]
http://www.physics.smu.edu/sekula
User, selfhoster, developer of 3rd party client-bridge, content creator.
Since 2013.

Jessica Tallon
[email protected]
https://github.com/xray7224
User, selfhoster, developer of PyPump library, on W3C SocialWG group
(standards building off of pump.io's work)
1 commit.
Since 2013.

Menno Vossen
https://github.com/profOnno
User, developer (he joined actively as developer in September 2015
when the community transition started, but he has not been active in
the last months. We're not sure about their current involvement).

James Michael DuPont
[email protected]
https://github.com/h4ck3rm1k3
User, issue reporter, 4 commits
Old committer: 4 commits in October 2015. We're not sure about their
current involvement.

Michele Azzolari
[email protected]
https://github.com/macno
User, issue reporter, 4 commits, API client developer (Puma).
Old committer: 4 commits in March 2013. We're not sure about their
current involvement.

Carlos Solís
[email protected]
User, issue reporter, 3 commits.
Old committer: 3 commits in June 2013. We're not sure about their
current involvement.

Other occasional committers at
https://github.com/e14n/pump.io/graphs/contributors

25
*** Please include any other pertinent information not given above that
    you feel we should review with your application.

Status of the network: http://pumpstatus.jpope.org/dashboard/checks
Community account (updates about the community, meeting calls and logs):
https://pumpit.info/pumpio
The project in GitHub hosts the source code, wiki (documentation) and
bug tracker.
A new documentation project is being built here:
https://pumpio.readthedocs.io/en/latest/

Please note that your answers will be shared with Conservancy's Board of
Directors, its Evaluation Committee (the membership of which is
published on Conservancy's website), and with some of Conservancy's
existing member projects leaders.  We like to get as much input as
possible from Conservancy's existing project base when evaluating new
projects for membership.

Please submit the application in pure ASCII format, with paragraph fills
and line breaks designed for 80 column viewing.  You don't need to
impress us with formatting; what will actually impress us is if you make
the information presented in a simple and clear way that is easily read
and understood when edited with GNU Emacs and emailed around internally
at Conservancy via standard email forwarding tools.

Before completing your application, please be sure to read our
application FAQ at: http://sfconservancy.org/members/apply/

Feel free to include any additional information you'd like us to review
in considering an application, but please try to be brief as possible.

Please note that Conservancy does require that projects consider donating
a percentage of their funding to the general operating costs of the
Conservancy.  This is a way to assure we can continue providing a high
level of service to all Conservancy projects.  We'll discuss this further
and in detail after the evaluation process.

Please be advised that you may get follow-up clarification questions on
your application.  Please be prepared to respond to these inquiries
quickly to assure timely processing of your application.
######################################################################
Clone this wiki locally