mustache / spec

The Mustache spec.
MIT License
361 stars 71 forks source link

Could this repository be maintained again? #115

Closed gasche closed 3 years ago

gasche commented 3 years ago

The "standard testsuite" provided by this specification is invaluable for new people implementing the Mustache format. Most of the activity around mustache happened earlier in the 2010s, but there are still users and, correspondingly, maintained and new implementations. (New programming languages may want to implement a templating library and they use this spec as a reference, etc.)

Many of the specifications for the technologies we use have been actively read and used for decades after they were written, and there is no reason "a minimal and reasonably-well-designed templating language" should retire after 5 years or so.

Which gets us to the point: no one appears to be maintaining this repository nowadays. The issues and pull requests that are opened by new users remain without response, and some long-standing PRs clearly deserve a decision. This is natural and not wrong: the initial authors probably moved to something else.

Also, a portion of the PRs/issues amount to proposals to adding new features and, frankly, saying "no" to people who submit "meh" features is not very motivating as a maintenance activity: submitters feel bad, maintainers feel bad, it's easier to ignore the github emails. But then there are many PRs and proposals who are obviously good ideas, improving the testsuite for existing features. They can make life easier for future implementers of Mustache, so they should be reviewed and merged promptly. The current silence wastes the work of current contributors and future implementers.

If the original maintainers of this repository (cc @pvande, recently @locks) have moved to something else, could they (1) say so clearly, (2) agree to pass maintenance duties to more active people and (3) decide who to nominate as new maintainers? In the interest of making this easier, here is a default proposal: I would propose to just ask some of the implementers of Mustache libraries who have been active somewhat-recently, for example (provided they agree, of couse):

In terms of "what for?", I would propose to focus on merging common-sense improvements to the specification (wording, missing testcases, refreshing the JSON specs, etc.). Of course people should be very conservative about adding new features -- the stability has been a selling point for some users. For example, now would be a good time to agree to not add new features unless they are implemented by most Mustache implementations out there, which guarantees that it would happen at best extremely rarely. (Note: it does leave the door open for a resolution of the "template inheritance" PR #75, for example).

pvande commented 3 years ago

@gasche I believe I had communicated this in the past, but I may be mistaken. I am no longer maintaining this repository. I'm happy to answer [non-combative] questions about the parts of the spec I've written, but I no longer use Mustache (as it is a poor fit for my needs) and I have not been a part of the Mustache community for some years now.

gasche commented 3 years ago

Thanks @pvande for your reply. We have a problem if no one is maintaining the repository, because then who is going to introduce new maintainers so that it becomes maintained again? I'm happy to work harder to find someone else to do this, but if this does not work we may need to get one of the no-longer-maintainers to add new maintainers.

gasche commented 3 years ago

I don't know how to tell who has maintenance privilege to this repository, but the mustache organization has a member list with 3 more people that I had not cc-ed yet, and may be able to help with this issue: @bruno-, @defunkt and @nono.

nono commented 3 years ago

Sorry, I have only access to https://github.com/mustache/vim-mustache-handlebars

bruno- commented 3 years ago

I also only have access to https://github.com/mustache/vim-mustache-handlebars

gasche commented 3 years ago

@bobthecow, you are a member of the organization and also a somewhat-actively maintaining mustache.php. Would you by chance by able and willing to maintain this repository, or to add new maintainers who would be willing to? Would you at least know who currently has maintenance rights on this repository, and privilege to add new maintainers if desired?

gasche commented 3 years ago

It's been over a month now, and I must say that I am bit disappointed with the handling of this issue. It appears that none of the maintainers of the past are motivated enough to do some small effort to get the repository maintained again (as in: going to the settings page for the repository and adding a couple new maintainers there, or even just one!). I find it a bit surprising.

If someone with maintainership privileges on the current repository (@pvande, @locks) reads this: please, could you just take 10 minutes to add one new maintainer to the repository, and trust them to lead a reasonable transition to a more-maintained status? You get to choose which new maintainer to add:

  1. One of the Mustache implementors I suggested in my first message, among those that reacted to the post (which suggests that they are reasonably active).
  2. One of the mustache-handlerbars maintainers; you already know them somehow or at least have collaborated on close projects, and they responded quickly to my previous inquiries.
  3. Myself! I'm not volunteering to be a maintainer long-term, but I would be happy to take care of the transition if that can help; my plan would be to nominate a few other people (in a sensible way, ensuring that the project can continue quietly) and then step down.

Obviously the other option is to fork the current repository, but that sucks for several reasons:

locks commented 3 years ago

You're invited to the Spec team, do what you will.

gasche commented 3 years ago

Thanks! I plan to do as proposed: select a few maintainers of Mustache implementations that are interested in having the spec maintained again, with a focus on obvious improvements to the explanations/tests, and possibly merging some largely-implemented extensions as optional.

gasche commented 3 years ago

Let me quote my original proposal:

I would propose to just ask some of the implementers of Mustache libraries who have been active somewhat-recently, for example (provided they agree, of couse):

  • @bobthecow (mustache.php)
  • @cjerdonek (pystache)
  • @groue (GRMustache{,.swift}) and/or @Danappelxx (MutonChop, also Swift)
  • @hoisie and/or @alexkappa (Go implementations)
  • @JustusAdam (Haskell implementation)
  • @nadako (hxmustache (Haxe)
  • @rgrinberg (OCaml implementation)
  • @Ryman (rust-mustache)
  • @softmoth (raku-mustache)
  • @spullara (mustache.java)
  • @vti (Perl implementation)

In terms of "what for?", I would propose to focus on merging common-sense improvements to the specification (wording, missing testcases, refreshing the JSON specs, etc.). Of course people should be very conservative about adding new features -- the stability has been a selling point for some users. For example, now would be a good time to agree to not add new features unless they are implemented by most Mustache implementations out there, which guarantees that it would happen at best extremely rarely. (Note: it does leave the door open for a resolution of the "template inheritance" PR #75, for example).

Could the mustache maintainers quoted above reply explicitly in this thread if they would be willing to serve as co-maintainers of the mustache/spec repository? (My plan is to promote the new maintainers who respond, and then demote myself. I'm happy to help with triaging older issues somewhat, but this does not need maintainer privileges.)

Danappelxx commented 3 years ago

I am happy to help out, though I must admit I haven't touched my Mustache library for a few years now.

My main goals would be to keep the spec simple and only add new features if necessary. A positive side-product of how inactive this spec has been, is that Mustache has entirely avoided feature creep.

If these goals don't offend any of the other library maintainers, I am willing to help with the transition.

spullara commented 3 years ago

Happy to help out. I still do work on it from time to time and someone recently asked me about dynamic partials which never quite made it through the spec process.

gasche commented 3 years ago

Thanks! I went ahead and invited @Danappelxx and @spullara as Admin for this repository. Once they accept I will uninvite myself.

(Note: I couldn't add you to to the Spec "team" because I am only a "Member" there, so I have admin rights on the repository but not on the team. The other person left in the team is @defunkt, and no one else currently has any access right to mustache/spec.)

spullara commented 3 years ago

We now have some maintainers. I think it would be super helpful for interested folks to go through the issues and pull requests and comment on them. Some of them seem straightforward like adding more tests that test current spec'd functionality.

JustusAdam commented 3 years ago

I just want to say, I have been following this thread silently, since I barely find the time to maintain the Haskell mustache, but I think this is a great idea and I appreciate your effort and tenacity @gasche. Thank you. 👏🏼

Also thanks to @Danappelxx and @spullara for stepping up.

Danappelxx commented 3 years ago

If any others are interested in becoming maintainers, please let us know. Otherwise, closing for now.

jgonggrijp commented 1 year ago

Update from the future: I joined the team in the meanwhile. @Danappelxx is currently not allowed to work on the Mustache spec by his employer.