jonaswinkler/paperless-ng

[Other] How to continue... the project seems unmaintained now

torwag opened this issue Β· 44 comments

Unfortunately, this project seems to be unmaintained by now. We have close to 180 issues, more than 40 PR and many discussions,
Some people tried to reach out to @jonaswinkler, but without luck.
Well, we all hope Jonas does well, and I believe many here would be very happy to get a live signal from him, even if he just tells us that he is very busy right now.

Nevertheless, it might be a good idea to discuss how to go on, with or without Jonas. We need more people to develop, maintain, test, bug-fixing and help with feedback, user communication, etc. so that it does not become a too heavy task for a single person.

What is important, we require a team with a long term perspective. Paperless NG is a project which many rely on for archiving documents, and this is by its nature a long-term task. Thus, users wish to use paperless ng for many years to come.
What is needed, therefore, is a dedicated team which focuses on keeping paperless ng alive.

So we might start to discuss how that could be achieved.

Very good idea to open this discussion. I'm new in these kinds of projects, but love Paperless-ng and would definitely like to donate some time for what ever is needed. It is too good to let die.

Assuming we would get hold of Jonas, what is needed for us to get this going? What kind of organization we would need for example? What roles need to be filled?

For sure we also need a roadmap for features. What I could for example do is to go through all feature ideas/suggestions and list them.

Also, how should we organize ourselves? Some kind of Discord (or whatever) meeting to discuss?

a17t commented

Ah damn, I just created a discussion for some possible enhancements.

I see two options on how to continue:

  • either we reach Jonas, although it seems like others have tried that
  • we create some kind of "non single point of failure project orga" to continue

tbh. I am not to much aware of the history and whether @jonaswinkler just does not have the time to continue maintaining the project, but if thats the case, I would suggest to form a loose organisation without any single person as "single point of failure".
and of course Jonas would be welcome to join that.

What do others think.

My impression is, that there are a lot of people "loving" paperless and paperless-ng, so it could become a success story.

Btw. I just noticed a naming conflict, which could become an issue: https://www.paperless.io

I would gladly become a beta tester and maybe even a slight developer for this project. With young kids I don't have lots of time, but would gladly try to help where I could. I know @jonaswinkler you are getting lots of questions on this... I'm unsure if you are answering any, but any guidance you can give will help greatly.

Jonas was very vocal about taking over the stewardship of original paperless project (see the-paperless-project/paperless#711 / https://www.reddit.com/r/selfhosted/comments/k28247/paperlessng_is_here_almost/ ) and his effort at the beginning to bring this project to life was absolutely Herculean. I have also contributed significantly to this project but I worked more on the frontend. It is odd and honestly a little concerning that we havent heard from him but everyone has their reasons. I do hope all is well.

There is nothing stopping you from forking this repo, and yes as suggested it could be housed under a GitHub "organization" and more than one user given admin access in case others fizzle out. The biggest issues with that are:

  1. I think most projects of sufficient complexity need at least one (or more) people who deeply understand the codebase, in this case Python, Angular JS and a lot more. I think its tough for a project like this to continue to succeed (especially when it comes to adding new features etc) if all the people behind it are siloed in different parts of the codebase.
  2. There wont be an obvious way for visitors to see a forked repo. Unless at some point Jonas circles back and either merges in any work that had been done or archives this project and adds a note pointing to the new fork (like was done with OG paperless). So in some ways you'd still be depending on him.

But again, theres nothing stopping you guys. Im not sure what the best course of action is, but part of me doubts that Jonas is willing to let all the work fade and that he will be back at some point. At least I hope soβ€”if nothing else, I still have some big PRs pending πŸ™‚

a17t commented

@shamoon thanks for your thoughts. I agree, it's concerning when someone who was that involved with a project suddenly disappears.
The point of discussing the future of the project openly at this place is to recognize the huge amount of work jonas did as a maintainer if the repo.

Of course we can just fork and go ahead, but that's not necessarily fair Play.

I am happy to join the discussion as I would like to support the project as well for various additional aspects (doc, test, tickets, social etc.).

Jonas was very vocal about taking over the stewardship of original paperless project (see the-paperless-project/paperless#711 / https://www.reddit.com/r/selfhosted/comments/k28247/paperlessng_is_here_almost/ ) and his effort at the beginning to bring this project to life was absolutely Herculean. I have also contributed significantly to this project but I worked more on the frontend. It is odd and honestly a little concerning that we havent heard from him but everyone has their reasons. I do hope all is well.

I tried once more to reach out on him.... on other channels then github. Lets hope that works.

There is nothing stopping you from forking this repo, and yes as suggested it could be housed under a GitHub "organization" and more than one user given admin access in case others fizzle out. The biggest issues with that are:

1. I think most projects of sufficient complexity need at least one (or more) people who deeply understand the codebase, in this case Python, Angular JS and a lot more. I think its tough for a project like this to continue to succeed (especially when it comes to adding new features etc) if all the people behind it are siloed in different parts of the codebase.

2. There wont be an obvious way for visitors to see a forked repo. Unless at some point Jonas circles back and either merges in any work that had been done or archives this project and adds a note pointing to the new fork (like was done with OG paperless). So in some ways you'd still be depending on him.

I think these are valid points. I am not a full-time developer, but an academic. Furthermore, I tried to get through the code-base, but that is more complex as it might look like. A group of new maintainers would have first the challenge to get through the entire code base and get familiar with it. In code, documentation is there, not always verbose but there. I hope this is enough to get started.
As for a potential team of maintainers, it might be important to get some which are familar with the key-core technologies. After all, paperless-ng is something which can be exposed to the outside and which can fail in very unfortunate ways if things get wrong. Users might lose data which is essential for them. A more conservative approach regarding new features and future development vs. stability might be needed.

As for a potential team of maintainers, it might be important to get some which are familar with the key-core technologies. After all, paperless-ng is something which can be exposed to the outside and which can fail in very unfortunate ways if things get wrong. Users might lose data which is essential for them. A more conservative approach regarding new features and future development vs. stability might be needed.

My hope would be that we could maybe keep Jonas engaged in the new team of maintainers or have him spend some time doing a Knowledge Transfer to that team.

a17t commented

I tried once more to reach out on him.... on other channels then github. Lets hope that works.

Thank you!

As for a potential team of maintainers, it might be important to get some which are familar with the key-core technologies. After all, paperless-ng is something which can be exposed to the outside and which can fail in very unfortunate ways if things get wrong. Users might lose data which is essential for them. A more conservative approach regarding new features and future development vs. stability might be needed.

My hope would be that we could maybe keep Jonas engaged in the new team of maintainers or have him spend some time doing a Knowledge Transfer to that team.

I agree, that would be the best case.

Question from my side, as some people already expressed their interest on that topic, how do we want to continue?

We can discuss here on github, on how to proceed. I currently see two main areas of interest:

  • Get Jonas opinion, involve him if he wants
  • Decide on how to continue? How to structure?

Regarding Jonas, I really hope for the best.

Regarding the second point:

Usually the best way of doing such an endevaour is to build a community as a Github organization instead of having a single developer account hosting the entire code base. (e.g. github.com/paperless-ng/paperless-ng).

I'm part of several (bioinformatics) communities and can share some insights on how to set things up in a proper way to ensure that this works. Its usually a good idea to have teams in the github organization then, e.g. with a list of people being able to merge PRs to development / main branches and keep those protected and steering a bit what is prioritized (maintenance vs new features?).

Would also be good to get things rolling that way, as people contributing get feedback on their PR more quickly if a list of people can review and not all relies on a single person - no offense against Jonas who really did a massive job there, but its just too much for one person who likely has a personal life too ;-)

a17t commented

@apeltzer Something like that is what I had in mind. The issue I see currently is, that the people interested connect, before we create such an organization

Jonas was very vocal about taking over the stewardship of original paperless project (see the-paperless-project/paperless#711 / https://www.reddit.com/r/selfhosted/comments/k28247/paperlessng_is_here_almost/ ) and his effort at the beginning to bring this project to life was absolutely Herculean.

I couldn't agree more.

It's interesting how this discussion is going very similar to the-paperless-project/paperless#470.

A lot of people there had ideas how to help but it only gained traction when Jonas revamped the entire code-base and people moved over because the new version was simply better.

I hope that Jonas is well and simply has other things to do. Losing the main maintainer (the bus factor) is not uncommon for open-source projects but there's no simple solution to it. To quote @jonaswinkler (from the Reddit post linked above):

How do you account for the possibility that this project could also go stale in the future and eventually stop working?

That's an issue any unfunded open source project is facing.

So is monetisation a possible solution? I don't know, this project is probably too niche to sustain a salary.

So is monetisation a possible solution? I don't know, this project is probably too niche to sustain a salary.

Quite likely not possible. That would also require something like support etc pp which is hard to handle for a single developer who would have to charge quite a bit for a licence in order to get this going.

Making this a community effort ideally would be the best way forward - not having to rely on a single person anymore, who could drop out anytime and sharing "responsibilities" amongst a group of people who hold the keys to the castle.

gador commented

I am currently using paperless-ng as well and would love for the project to continue.
I have some python, docker and packaging experience and am willing to help any way possible.

Was someone able to reach Jonas? Maybe we could try to reach him through is employer which you can find in his xing profile. But this would be a kind of last resort.

Maybe we could try to reach him through is employer

he was actively contributing pull requests to other projects in December. See his contributions. He also gets emails whenever folks keep pinging his name. I’m not sure annoying him more is the answer.

Would rather move forward to building a community / organization, inviting people to join that. Of course we should make sure inviting / including him to keep the point very clear that it was never meant to be leaving him out. People above stated it pretty clearly that everyone is just afraid loosing their precious document management system that everyone likes to much to give up hope for ;-)

That would then be a clear path forward:

a.) Fixing / PR reviewing happening much more frequently
b.) Jonas could join anytime if he intends / wants to. I guess we owe him that, as he was making this much more reliable than it was before.

Either this (so not getting hold of his employer, messaging himself on Xing would be the only choice), or getting a trusted person reach out to him?

With all the GH pings and offsite messages so far, we can assume Jonas doesn't want to be contacted? At least for the moment.

Might be best to respect that.

Hello,

although it would be nice to contact Jonas, I do not see it that important. It seems that Jonas cannot or does not want to contribute at this stage.
Why not go ahead and create the organization. Once Jonas returns, he will be pleased to see that there is more support developing paperless-ng, I suppose.

Does anyone know, if the issues can be copied over?
Also, there was a lot of work that went into #335. Would be good to carry that over as well - although it was not merged yet.

Best regards,
Hendrik

As a user of paperless-ng, I had no reason to complain and as such wasn't active here. But seeing that the project got stalled again, it would be a shame if this outstanding tool would become abandoned.

The first thing I want to say: Jonas doesn't owe anyone anything. His effort is greatly appreciated, and if he cannot contribute anymore, that's just how things are. Given that he hasn't disappeared of the face of the earth and is still active elsewhere, we have to assume that he simply doesn't want to contribute further, and I suggest for everyone to accept that. So continuous attempts to contact him over other channels are pointless. He knows where to find us.

However, simply abandoning the project sure is odd. It would have been nice if he announced his departure and handed the reigns over to someone else, as now the project is effectively orphaned, again. It would have avoided the confusion we have now.

The idea to put this project in the hands of more maintainers to avoid this happening again is great. However, instead of creating a new project, I would suggest contacting @danielquinn, as an organization already exists and he was open to the idea of Jonas taking it over in the first place. So maybe we could re-use that and merge paperless-ng back into paperless as he suggested, and work from there.

I would ask @shamoon to do this, as he has the most experience with the project aside from Jonas and Daniel. He can then pick other contributors he approves of, and create a channel of communication (Discord or gitter.im, for example). If he doesn't want to, then maybe someone else wants to step forward. My experience with Python is very limited, but I intend to try and get a development version running, if only to test pull requests for example.

Once that is done, we can then ask the contributors of long-running pull requests to resubmit those to the new (or old, in case of a merge) project. The dependency bumps would be a good start. Then a new version, like 1.5.1, can be released as beta for us to test, and once it is release-ready, announced as a continuation here.

Of course, should Jonas come back, he would be more than welcome to take over the reins again, but it would be advisable to keep @shamoon or someone else as an additional maintainer on to avoid the single point of failure we have now.

It's just sad that he seems to abandon a project only he has administrative access to. He just could've said he doesn't want to maintain it anymore and open it to the community, forging and thereby creating a whole new project is not a nice way in my opinion.

It's just sad that he seems to abandon a project

I think we should be glad he put so much work into improving paperless. It's his project, so he can do what he wants with it.

It's just sad that he seems to abandon a project only he has administrative access to. He just could've said he doesn't want to maintain it anymore and open it to the community, forging and thereby creating a whole new project is not a nice way in my opinion.

At least it is possible thanks to it being open. Paperless being open source allowed Jonas and @shamoon to make the improvements they did in the first place. Paperless-ng continuing to be open source is what allows the community to continue developing the project, even if the original maintainer is no longer active.

Having to create a new fork is the lesser evil compared to being forced to re-engineer an abandoned closed source project, or have all the work you put into organizing your documents in Paperless go to complete waste as you look for alternatives.

I wish Jonas the best for the future, and thank him for all the work he did, and for the source to be openly available to everyone.

I agree 100% with you @Grogh - maybe really ask Daniel Quinn if it would be possible to merge this back and then stay within the organization that already exists and then have more people work on it together.

wiphi commented

I follow this discussion since a few days and I totally aggree with you all. This software is amazing and a lot of work for one single person. @jonaswinkler did move a mountain to bring paperless to paperless-ng for us all.
Maybe we can build a little team of a few people to maintain and develop this project in an organization.
For example .. I'm not familiar with angular, but I can provide some python backend skills.

I Think we need the following

  • Frontend devs
  • Backend devs
  • Maintainer of issues/support
  • a github professional for automatic tests / organization creation / etc.

@shamoon you did some huge PR's and I think you have some deeper look and knowledge about the code.
Maybe we start with a fork in an organization (is this possible?) and then we will see? Maybe jonas get's interested and will contribute again.

Hello,

I find this

maybe really ask Daniel Quinn if it would be possible to merge this back and then stay within the organization that already exists and then have more people work on it together.

a really good idea. This way, it will be easier to find the project and we avoid names like paperless-ng-ng :-) Furthermore, the community exists already
@danielquinn what do you think?

Best regards,
Hendrik

Love to see how many people deeply care about this project. If Jonas is currently indisposed I support moving (back) to an org.

For what it's worth: I would certainly invest some time into sorting the pending PRs and issues. I've touched most of the involved technology before and - like you - care a lot about the future of the project.

My point of view: let's fork this repo. If Jonas wants to join us, he is free to do so but maybe he has to with life today. If we are many others it's easier for him and us. I am also totally new to this Projekt but love it. I just create an Organisation called paperless-ngx and forked this project. I am exited how many want to follow to bring this project to the next level.

a17t commented

@FrankStrieter and others. I agree, lets move ahead. Jonas is always welcome to join.

If we want to form a team of maintainers, we should anyway at least know a rough background of each other. In the end a team of maintainers has to work together and bring a project forward. All maintainers should share some common vision for the project!

I also like the Idea of maybe moving this back to the organisation by @danielquinn . Although it seems like he moved away of github to gitlab, so I think also there we have a similar situation as with this project.

Do we maybe want to organise some kind if virtual "get together" for people interested in bringing this forward? Especially a common vision seems to be important for such a project maintainer team to work.

Hello,

I think @FrankStrieter made the first step. It's an organization, so there is little risk for the same dilemma.
Any Idea how to transfer issues and discussions - certainly not all, but selected once would be worthwile.
Also the work on Split&Merge (#335 (comment)) should not get lost. @shamoon , would you be willing to contribute that to paperless-ngx?

Best regards,
Hendrik

I think this should explain how to move the issues over to a new repo:
https://docs.github.com/en/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository
@henfri : do I understand correctly , there is already an organization that could be used to house that new repo ?

I think this should explain how to move the issues over to a new repo:
https://docs.github.com/en/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository
@henfri : do I understand correctly , there is already an organization that could be used to house that new repo ?

We won’t be able to transfer the issues because we don’t have write access to this repo, any PRs will have to be re-submitted to the new repo, etc. Yea it’s kind of a pain in the butt.

Maybe the name could be improved later on but it's great that this gains some traction!

Issues could be copied over by a bot (although the author association would be lost). I'm not sure if it's a great idea to start with lots of open issues.

The pull requests can just be merged into the new repo, no need to move them over.

How will access to the new organisation be managed? Will everyone who contributed to the project get write access?

It's also necessary to create an account with readthedocs and Docker hub but that can be done once things are moving.

I also second @a17t's idea of a get-together of sorts. A lot of coordination is necessary and I think that would make things easier.

there seems to be another org with the same idea in mind: https://github.com/paperless-reborn/paperless-ng

I'm also very interested in the continued development of this project. I have a platform engineering background, and would be glad to contribute with the small bits of time I have available.

Ideally the head of the organization should be able to contribute to the project itself in some way. Creating the organization is just a few clicks on GitHub but what comes after is the hard part.

The head should maybe have a technical background of some sort or be active on GitHub / in the open source world or alternatively have some experience in leading such an organization.

Have the creators of these orgs invited the contributors yet? They look empty. This can become fractured very quickly.

EDIT: I'm agreed with the get-together, we should make a defined list of people who are willing to organize/lead this

If you're willing to actually contribute to a paperless github org, please chime in over at #1632 so the community can have a definite list of invitees we can count on.

Just to give you some feedback and to avoid that other try the same thing. I was so free, to kindly ask the company @jonaswinkler points to, if they could create some contact. It seems to be a rather small company and me being German as them, I guess I managed to ask in a non-offensive way (for Germans ;) ). This is almost two weeks ago and unfortunately, I did not get any feedback.
Whatever, goes on, it seems there is no way to contact Jonas.

Seeing how often he was mentioned in this thread alone within the last days, which always results in an email to him. If he feels like he needed to update us, it would have been now, as emails are coming in daily.
I think, therefore, it is unfortunately safe to say that he is either busy with other stuff or no longer interested. Let's hope for the best, that he is doing fine.

As for the forking and organization stuff, I would agree that this is the way to go forward. However, it requires a dedicated core-team and everyone should ask himself, if he has the resources to contribute for at least a year to a new fork, before it gets enough momentum and participants to step out of line eventually.

Forks are very vulnerably right at the beginning. We have a lot of enthusiasm and willingness to help right now, but when it comes to weeks and weeks of "labour" work, people quickly lose interest.

What we need is a couple of core developers and maintainers who state: "Yes, I will make this project for at least 1 year one of my main pet-projects and contribute time to it every week".
Even then, nobody can't be blamed to step down if life has other plans for him/her. So to everyone who is willing to take such a role, is your forecast of work/life/etc. stable enough to make such a commitment?

Taken me for example, I work in academics, I have already a 50h/week job, a family and far too many other hobbies. I would simply lie to myself, declaring, that I could spend more than 1h/week on this project. As this, I would be willing to contribute in form of orga- and maintenance, but not being a core dev/maintainer,

Maybe, as this issue threads are a bad way to communicate this kind of things. We could start to create a chat somewhere (mattermost, discord, slack, etc.) to allow this kind of discussions taken part there? Maybe we should really get a list of people who state how much time they are willing to invest for the next year.

Completely agreed, people need to be honest with themselves in how much time they can invest in such a project.

Although it's unrealistic to expect anyone to step up in the way Jonas did originally, his contribution has been absolutely massive. Frankly I don't see any overhauls like that happening again until he rejoins us.

Right now the focus should be maintenance. Merging PRs and handling bugfixes/dependency/security updates is where my expectations are currently.

I can keep Paperless prominently on my desk until late July / early August. I'm not asking anyone else to make such promises. Perhaps once the dust settles some others would like to stick around. Ultimately this is a community project and it should thrive as long as people are willing to help.

Maybe, as this issue threads are a bad way to communicate this kind of things. We could start to create a chat somewhere

Nice idea. I've had good experience with gitter.im maybe we could set that up? Discord/Slack bother me because they are not indexable and siloed by a private company.

I think Matrix is probably a smart choice, since it is not controlled by anyone and can, if needed, be bridged to other channels. I've created a room for paperless, in case there is consensus for Matrix

Even better, thanks! I've joined.