paperless icon indicating copy to clipboard operation
paperless copied to clipboard

This project is bigger than me

Open danielquinn opened this issue 6 years ago • 61 comments

...and I don't have a whole lot of time to donate to it.

Since I started it back in 2015, Paperless has grown far beyond what I ever expected it to be. With 5000+ stars on Github and a surprising popularity in Germany, issues are posted or commented on on an almost daily basis.

With the little time that I have (baby on the way!), I try to roll out fixes & features, but every change tends to add instabilities on platforms I don't personally use. There are people using this project on bare-metal Linux installs, Docker installs on Synology boxes, cloud installations, Rasberry Pis, and FreeBSD machines -- and that's only the ones I know about from issues users have posted.

If this project is going to survive & grow, there has to be more people driving it. Primarily, we need people who the rest of us can trust, but also people willing to do the boring work of adding tests and testing frameworks for the various platforms.

I'd like to transition Paperless to more of a collective effort, either as part of the @Jazzband, or some other means -- I'm open to suggestions. I'm happy to stay on to audit pull requests or make suggestions, but it's becoming clear that Paperless needs more from me than I'm able to give it, and so I'm thinking we need to expand the pool.

Here's what I'm suggesting: I believe GitHub can be configured to require that merges be reviewed by one or more other collaborators before code is merged. If I can figure out how to do this (maybe I need to create an organisation? Advice on this is appreciated.) then we could have a system where we have more people who can create & merge more stuff, but where merges require review from at least one other person -- that'll keep people honest.

If GitHub can't do this, then I'm also happy to move to GitLab unless there are strong objections.

IMHO, the first mission of this collective should be to get us to 100% test coverage and to update Travis (or something else?) to execute those tests in different environments (if possible). After that, I imagine some of you have your own priorities regarding where this should go. I'm excited to see what you have in mind.

I'm tagging a few people specifically who have been more heavily involved with Paperless than others just to give them a heads-up. If any of you lot are interested in taking a more primary role in this project, please comment below. Maybe we can get an idea of what kinds of resources/interest is out there. This is not an exclusive list, so if you don't appear here but feel you've contributed significantly (or just want to) it's because I didn't recognise your username from the autocomplete:

:+1: @Strubbl @philippeowagner @jat255 @ahyear @avichalp @BastianPoe @CkuT @ddddavidmartin @erikarvstedt @MasterofJOKers @pitkley @ovv

If no one steps up, nothing will change. That is to say, issues will continue to pop up and people from the community will (hopefully) try to help people with questions. I will try to keep on top of pull requests and chat in the issue queue when I have time, but as we've already seen, I don't have a lot of time.

danielquinn avatar Dec 31 '18 15:12 danielquinn

Hello @danielquinn ,

I'm happy to participate, unfortunatly i am not a good dev ( not a dev at all!). I can help on testing et beta testing the docker part but i won't be on any help en correcting bugs or managing the repo...

I certainly hope that this project will grow to be a new standard as i have not seen anything as efficient as this one.

ahyear avatar Jan 02 '19 10:01 ahyear

@danielquinn congratulations! and thank you very much for all the efforts and time you invested in paperless. Maintaining open source projects is hard, especially in the long run.

Unfortunately I can hardly keep up with my own open source projects like django-hijack, django-background-tasks, etc.

Even if I would like to, it will not be possible for me to participate as a lead in this project at the moment.

Thanks again Daniel for all the work on and around paperless.

philippeowagner avatar Jan 02 '19 11:01 philippeowagner

Thanks for everything @danielquinn. Sadly I have to resonate with the others I don't have time (for the moment) to follow the project as much as I want.

ovv avatar Jan 02 '19 12:01 ovv

Thanks for responding guys. @philippeowagner & @ovv: I know exactly where you're coming from. I'm trying to keep the bulk of my Free software contributions focused on Aletheia, and with the kid due in a few days, I figure that even that sounds optimistic. Your contributions thus far have been greatly appreciated :-)

@ahyear it's cool that you can't do dev stuff, but testing is super important too! How do you feel about me tagging you on the occasional pull request to ask for a review? That is to say, you'd have to pull the changes and run them to check that things are working as expected?

danielquinn avatar Jan 03 '19 11:01 danielquinn

Congratulations @danielquinn ! Thanks for this great project ;)

I really want to improve paperless, and I have some ideas but don't have many time at the moment. I think I'll have more time available in few months to work on paperless. However, I would be glad to be tagged for reviews in the meantime.

CkuT avatar Jan 03 '19 13:01 CkuT

Thanks as well from a recent convert from MayanEDMS. I’ve been looking for a project I can contribute to and would like to help. As a student I’m not very experienced but may have a little more time than others ;)

I was just reading through some of the open issues, and think that quite a few of them could be closed right away, e.g. #241, #292, #327, or #446. Removing some of the “clutter“ in the issue list and making it more clear where contributions are needed may help in getting more people onboard.

JensPfeifle avatar Jan 08 '19 21:01 JensPfeifle

Configuring github so that any pull requests needs X reviews should be straightforward and should not need a new organization. The documentation mentions a setting in the protected branch settings where the behavior can be configured. Users with write access or admin access to the repository count as reviewers.

Congratulations on the baby!

syntonym avatar Jan 13 '19 14:01 syntonym

@danielquinn you can add me, I will try my best to help the project. But even if you slow down your involvement, you will still be there right?

By the way I just had my second baby as well 9 days ago ;)

So I understand your situation....

ahyear avatar Jan 13 '19 16:01 ahyear

testing frameworks for the various platforms

bare-metal Linux installs, Docker installs on Synology boxes, cloud installations, Rasberry Pis, and FreeBSD machines

I would like to give this a crack.

Enjoy the baby! Although I think it just a way of generating a Birth Certificate, so your can store it in paperless ;)

bmsleight avatar Jan 21 '19 21:01 bmsleight

Thanks for all of your advice everyone, especially to @syntonym who pointed me in the right direction regarding branch protection and merge rules.

I've tweaked this project to require a minimum of 2 :+1: reviews from "collaborators" before a merge to master is permitted. However, I don't have any collaborators on the project yet, so the behaviour remains the same (as an admin, I can merge whatever I want).

So, who here wants to be a collaborator? This would mean that you could be tagged for a request to review a pull request and that you could be one of the two required reviewers to merge something.

As for @ahyear's question: yes, I will still be around. I'm just short on time/resources and I don't want this project to die just because I'm busy. This is basically an attempt to improve the bus factor of Paperless, not a means of abdicating my role in it.

The fixing of the bus factor starts with other people volunteering to be collaborators/reviewers, and until then, this project will move forward... slowly, but it'll still be moving.

danielquinn avatar Jan 27 '19 15:01 danielquinn

@danielquinn I had thus far failed to pipe up, but I'd be happy to be a collaborator/reviewer. I've been using the project regularly for the past few months, and I have a few ideas on how to improve some things (if I can find the time!)

jat255 avatar Jan 27 '19 16:01 jat255

I'm happy to help with reviewing stuff whenever time permits.

MasterofJOKers avatar Jan 27 '19 16:01 MasterofJOKers

@danielquinn asI said, I will be happy to help to. (as much as i can...)

ahyear avatar Jan 27 '19 18:01 ahyear

@danielquinn I'd love to start helping, I've recently made the decision to go paperless and would like to begin contributing bug fixes and features

kevin2107 avatar Jan 28 '19 03:01 kevin2107

I was thinking about this and #479 . I believe it could be a good idea to create a paperless organization that way some non-essential part could be taken out of the primary repository and maintain by other people more easily. It will also reduce the load on @danielquinn.

By non-essential part I'm thinking about documentation, docker setup, other installations method like the script in #479 if we decide to expand on it or the ansible role I maintain.

ovv avatar Jan 28 '19 09:01 ovv

@danielquinn, If you can give me permission to assign labels I would start by sorting through the issue queue.

JensPfeifle avatar Jan 30 '19 09:01 JensPfeifle

Alright it sounds like I'll have to convert this project into an organisation. I'll try to do that this weekend and will keep this issue updated with whatever I figure out.

If anyone here has some tips regarding how to do this, by all means, share it :-)

danielquinn avatar Jan 30 '19 10:01 danielquinn

Create a new organisation https://github.com/organizations/new, eg. paperless. Transfer the paperless repo to paperless. That's it.

See https://help.github.com/articles/transferring-a-repository/ for more info.

philippeowagner avatar Jan 30 '19 10:01 philippeowagner

Ok I've now done the following:

  • Created a new Paperless organisation. It turns out paperless was taken, as was paperless-project, and the-paperless (pretty crowded space I guess), so I ended up with the-paperless-project :-)
  • I added a bunch of the people who spoke up here as members: @ovv, @ahyear, @MasterofJOKers, @jat255, @bmsleight, and @CkuT. As for @JensPfeifle & @kevin2107, I appreciate your enthusiasm, but as you haven't submitted any pull requests yet, I'm not ready to add you as a member. Feel free to find an issue you wanna help out with, send a PR and once your contributions come through, we can talk about granting write permissions.

If I've done this right, each one of the organisation members will have write permissions to the project to create branches or even additional projects, but as the paperless/master branch is protected, requiring 2+ approvals to merge, a member shouldn't be able to arbitrarily merge stuff into master. Please let me know if that's correct.

Additionally, I know that @JensPfeifle offered to go around and work on labelling stuff in the issue queue. That's awesome and really appreciated, but I can't figure out how to do that without giving you write access to the code, and I'm not sure how I feel about offering that for someone who hasn't submitted a PR yet. Thoughts from the rest of you on this are appreciated.

Let me know if anyone thinks I've screwed this up, eh?

danielquinn avatar Feb 02 '19 11:02 danielquinn

Cool [Paperless organisation]https://github.com/the-paperless-project)!

a member shouldn't be able to arbitrarily merge stuff into master

Most of the open pull requests are for docker, guess I have to start learning docker!

bmsleight avatar Feb 02 '19 20:02 bmsleight

Hey @danielquinn, sorry for not responding sooner. I'm glad you reached out to the great community of users and contributors of Paperless in aiding you and the project itself. I think that adopting additional maintainers is a great step in the right direction, and requiring 2+ approvals is the right way to still ensure the quality of Paperless, even if you personally can't check or "vouch" for every change introduced.

I have seen that you already have added quite a few members to the organization, which I find awesome! :+1: Should you think that one more helps, feel free to add me. In any case I'll continue contributing to this project as I have in the past (and as time allows), either if I stumble upon something where I feel like I can support, or if I'm specifically tagged on something where the community thinks my input could help!

Also a big thank you to everyone in this thread, without the support and contributions extended by all of you Paperless wouldn't be as great of a tool! :tada:

pitkley avatar Feb 02 '19 21:02 pitkley

I was hoping you'd be interested @pitkley! I'll send your invite now :-)

danielquinn avatar Feb 03 '19 16:02 danielquinn

If it's ok with everyone, and after a bit of cleanup, I plan to move ovv/ansible-role-paperless to the organization.

ovv avatar Feb 05 '19 08:02 ovv

@ovv I personally think it's a good idea to find all loose parts in one place. But we should consider have the licences aligned. I noticed ansible-role-paperless is licensed unter the MIT License and paperless itself under the GNU General Public License v3.0.

philippeowagner avatar Feb 05 '19 09:02 philippeowagner

HI Any chance of a review of my PRs ? @ovv @ahyear @MasterofJOKers @jat255 @CkuT @pitkley ?

#499 #500 #501 #502

bmsleight avatar Feb 14 '19 18:02 bmsleight

@danielquinn apparently the move to the organization broke Travis CI, at least it doesn't seem like any of the PRs opened since then are building. I have requested approval from you for Travis CI to be able to access the organization.

I'm not 100% sure if that was the right thing, maybe double-check on your end if there is something else needed to be able to access the organization. :slightly_smiling_face:

pitkley avatar Feb 15 '19 17:02 pitkley

Thanks for noticing @pitkley. I've just now approved the Travis CI integration. but it doesn't appear to be working. Details are in #512.

danielquinn avatar Feb 18 '19 08:02 danielquinn

@danielquinn I was looking into moving ovv/ansible-role-paperless to the organization but I don't have the right to create new repository (required to do a transfer). Would you be ok to grant me that permission ?

ovv avatar Feb 22 '19 12:02 ovv

Yes I would be happy to grant you that permission, however I'm not 100% on how GitHub does this stuff. I've now created a team called Reviewers and you're all on it. You all have Manager privileges, which I think gives you the right to create new repos in the organisation. Have a look and see if you can create a new repos, and if not, I'm going to need some advice on this.

danielquinn avatar Feb 22 '19 13:02 danielquinn

Doesn't look like I can. I went looking in another organization and I believe you need to tick: settings > Members privileges > Repository creation > Public and private repositories

ovv avatar Feb 22 '19 13:02 ovv