Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expanding commit rights? (Re. unmerged PRs) #134

Closed
msegado opened this issue May 7, 2018 · 8 comments
Closed

Expanding commit rights? (Re. unmerged PRs) #134

msegado opened this issue May 7, 2018 · 8 comments

Comments

@msegado
Copy link

msegado commented May 7, 2018

Thanks for your work on this project! A question/suggestion: would you consider granting commit rights to more people to help the project move forward? There are quite a few PRs for Python 3 support that have been open for ~9 months without activity (#108, #113, #114 #115, #116, #118, #119, #120, #126) and it would be great to have support for some of these features in a release.

@odcinek seems like a good person for the job if he's willing, seeing how most of the PRs are his...

/ping @Psycojoker
[With apologies to psychoJoker who I pinged by accident before editing...]

@boxed
Copy link
Contributor

boxed commented Jul 24, 2018

I second this. It’s extremely frustrating that this project is de facto abandoned. I’m currently thinking I need to create a fork which seems silly.

@msegado
Copy link
Author

msegado commented Jul 24, 2018

(pinging @Psycojoker again in case I messed it up with the typo the first time)

@Psycojoker
Copy link
Member

So, I guess it's time for me to come out of the wood.

So, maybe to give you a little bit of context before answering this ticket if that interest you (you can skip it otherwise) on why I've mostly stopped answering here.

To make the long story short: I've made the worst burnout of my life on that project, I'm going to skip you the details but it was not pretty at all. Then I healed up partially, after months, managed to rewrite the proxy list (ironically one of the most complex and annoying to write part of RedBaron) with some suffering months later. Life changed, did a shitload of things, did another burnout (yeah...), though I had healed up (no), start a job that was supposed to be cool, got destroyed by it because boss was a human disaster and we are here today one year later where, I think I healed up. (I did managed at some point to merge some PR)

(Red)Baron is one of those so complex project that if you want to moved it like I did you need to fully commit to it, it has been something that I didn't managed to do again because of my mental health, life change, procrastination and this painful gut feeling that you get when you get back on something that hurt you that much (if you had a burnout you know what I'm talking about).

Also working again on something that has hurt me that much after finally feeling good again wasn't something I was the most motivated to do.

I should have (and should?) probably find a way to get paid to work on it (job, mission, patreon, I don't know) (yeah, I didn't made a single penny doing this project) but at that time the project was mostly unknown which for whatever reason is not the case anymore. (and I didn't got much feedback from my attempt at promoting it but I wasn't connected to the right crowd I guess).

Because the ironic part of the story is that RedBaron started getting users ... years after I've totally burnout on it (mostly out of nowhere since I've totally stopped promoting it or I might have missed someone starting making promo of it?)

Anyway.

Regarding expanding commit rights that's something tricky to do: that's a very complex project, not especially at the code level (except some parts) but because of how super impacting are design decisions, you sadly don't design a syntax tree like that :/

I've been looking at a good part of those review some time ago but from my memory I was sadly not satisfied with how they were designed or finished :/

Finding people with this level of design (that can be learned of course) that I can trust takes time, time I haven't put in it yet.

So I'm going to finally get a look at those PRs and make a release (or more, splitting the task) to find out if I still manage to work on that project (yay.) and try to think about expanding commit rights along the way. If I fail I'll consider other plans.

Gosh, that was not fun to write.

@boxed
Copy link
Contributor

boxed commented Jul 24, 2018

I'm sorry to hear that! And I'm sorry we've all been hounding you when you've had a difficult time. Obviously we didn't know :(

For my personal use case it's enough that baron can roundtrip python3.6(7?) so I don't really know what you allude to about those finer details on design. I'm also more of a gung ho kind of person so I think it's ok to break stuff if you're unbreaking more than you're breaking.

I also have a little bit of experience adding contributors to a project I started. My experience is that when you give people commit rights they step up their game on changes quite a bit.

Also, the reason I need baron is for my mutation tester, so I can absolutely put in some mutation testing time to make the test suite rock solid :P

I'm going to go ahead with my fork for the time being. It might just be an experiment and might just be code that isn't good for much except for my use case in mutmut, but that's fine by me.

@msegado
Copy link
Author

msegado commented Jul 26, 2018

@Psycojoker,

Thank you for putting so much effort into your reply despite all that's been going on, and I'm sorry it's been so tough — burnout is definitely a serious issue affecting open-source maintainers, and I definitely don't want to add to your burden any more than I've already done! I appreciate the many hours of effort you've put into creating this software, free of charge, for my and others' benefit, and you have absolutely no obligation to me to develop it, maintain it, add maintainers, or even reply to this message. Seriously, I mean it.

Even if you never touch this project again, you have already given us something of value, and I want to honor that.

I also admit I hadn't realized how much of a role design considerations play when evaluating contributions to a project like this one; i.e., it's not just about whether the code "works" or not, but about the API it's defining. Makes sense, and explains why you've been hesitant to merge the open PRs or add contributors.

I'm happy to mark this issue as closed for now since you've graciously answered my question... you're certainly welcome to re-open if you want to consider it further and/or using it for tracking, but no pressure to do so =)

—MS

@msegado msegado closed this as completed Jul 26, 2018
@Psycojoker
Copy link
Member

Hello,

Firs of all, thanks for your understanding :)

To give you a small update and more context: I've started merging some PR (if you haven't noticed) and ... it takes a lot of time.

Not to directly answer the current discussion but more to have that it written down somewhere in case I got asked again "why aren't you merging the PRs?", I takes me several hours per PR:

  • getting in the state of mind and loading back everything in my head (it's not a trivial project)
  • checking that everything is fine
  • that the grammar is respected (not the case, people tend to do that intuitively :/)
  • documenting how the grammar is extended in comparison to python grammar (since now I support both python2 and 3 so I don't follow the official grammar anymore but a merged version)
  • that the design is fine (I had to rework it on 2 PRs)
  • that everyone of all the part are there (I've had surprise of missing render.py declarations)
  • that there are test for everything (often missing :/)

So, talking about opening commits write I'm not very motivated right now tbh :x ... Combine with the fact that RedBaron is actually an API design project where Baron is only built with that in mind and that, well, API design is quite hard to delegate, I'm not expecting someone to commit enough time to reach that level, at least without being paid for it, but I might be wrong?

Talking about that, since I'm finally able to work on it again and considering how much time and commitment it requires (and also being able to eat is cool), I'm going to try to find way to finance those projects, that should make them a bit more sustainable.

@boxed
Copy link
Contributor

boxed commented Aug 5, 2018 via email

@Psycojoker
Copy link
Member

Psycojoker commented Aug 5, 2018

Parso is the result of a long discussion on joining force on a common AST davidhalter/jedi#630 which only partially solves RedBaron's needs davidhalter/jedi#630 (comment) (especially point 3 and 4)

Moving today would probably takes weeks/months of work without the guarantee to have the previous result back. I was thinking about writing a proxy on top of parso at some point but the direct road is way shorter for now and that's a more strategic one to follow if I want python3 support on RedBaron faster.

Baron has never been designed to be used directly so you are probably way better fitted with parso (or with lib2to3 since you probably don't do refactoring).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants