highlightjs / highlight.js

JavaScript syntax highlighter with language auto-detection and zero dependencies.
https://highlightjs.org/
BSD 3-Clause "New" or "Revised" License
23.59k stars 3.58k forks source link

Looking for maintainers / contributors / code reviewers... #1678

Open isagalaev opened 6 years ago

isagalaev commented 6 years ago

The project was dormant for a while because none of the current nominal maintainers has enough time/motivation to do the job. Hence, the project is looking for a new maintainer (or several).

Involvement

Ideally I would gladly hand the project over completely to a new principal maintainer, provided they're interested in keeping it roughly within the same principles it's been following the past 10 years. It would be a real letdown for existing users if the project suddenly pivoted into something else.

Realistically though, since I am probably still the only person intimately familiar with the core engine, we could probably make it work with shared maintenance. We can work out the details down the road.

My ultimate goal here is to stop being a bottleneck.

Revival plan

Another reason why the project got hard to maintain is that it's outgrown a few old assumption and is in need of reworking to bring it back into maintainable state. Roughly:

Migration

Anyone?

A few people have already pinged me over email, so please reiterate your intention here, to which degree you're interested in helping out/taking over.

And thank you!

ddevault commented 6 years ago

Hey @isagalaev, glad you're taking this step for the health of the project. I would be happy to volunteer. I do not have time to work on extended development on the project, but I do have time for maintainership - holding the vision in my head and applying to reviewing pull requests, providing feedback on them, and merging and releasing them.

I agree with your driving principles and I will happily use them as a guide for my work here.

Our build process with several build targets and customizable sets of languages is a pain for both maintainers and users. Since we now live in the world with HTTP/2 and evolved JavaScript packaging it needs to be replaced. I can be instrumental in describing the pain points and historical perspective, but I don't know shit not familiar with modern JS infrastructure.

This is a good idea, and shouldn't be terribly difficult.

We should migrate the project under the org https://github.com/highlightjs/, forking it from here. I don't have a good idea what to do with all the open issues on this repo under /isagalaev/. One way could be defaulting on all of them here and asking interested people to reopen them at the new location.

You can move the repo to a new org without making a fork, keeping all of the issues and pull requests. I agree that an org is the right home for highlight.js given the refactoring plans. These repos:

It might make sense to severely limit the set of languages supported within the main repository, with others moving outside for community support, hosted somewhere else. For that the API between the library and languages needs to (finally) be stabilized.

Could live there.

There's also a Twitter account @highlightjs which I don't want to care about anymore and a Google group which might be simply deleted due to lack of traffic/purpose.

FWIW I don't have any interest in maintaining either of these.

ldct commented 6 years ago

Hi @isagalaev, as mentioned over email, I'd be happy to help maintain this. The 2 priorities listed in the revival plan make sense to me and would be what I'd focus on doing.

duncdrum commented 6 years ago

@isagalaev I m in the same boat as SirCmpwn. Moving the repo to highlight.js org here on github shouldn't be a problem. As for trimming rare languages there are already a number of good libraries with such a limited support. "Community support" looks great on paper, but in practice I fear that such an outsourcing of languages will lessen the appeal of highlight.js and create more maintenance hassles than its worth.

idleberg commented 6 years ago

It might make sense to severely limit the set of languages supported within the main repository, with others moving outside for community support, hosted somewhere else.

Making such a limitations will always be subjective choice, so why not make it fully modular and leave the choice to the user? I'd (still) like to see an officially maintained package on npm and single languages could be easily be published as single packages under an organization account (e.g. @hljs.)

Example:

# Install typical web languages
npm i @hljs/core @hljs/html @hljs/css @hljs/js

I've contributed nsis.js several years ago and I'm interested in maintaining it in the future.

shiya commented 6 years ago

I'd really like to help because this is such a good library and I've been using it at several places. I have some time to spare but not sure where to get started.

sangdth commented 6 years ago

I'm not looking to take over, but I would like to help.

Duncanma commented 6 years ago

I'm interested in helping, I'd even be up for handling the twitter account :) (I ran the one for channel9.msdn.com for 5 or 6 years)

isagalaev commented 6 years ago

Just to give you guys a status update: I'm sitting silent simply to collect all the shout outs for now. I think I'll move the repo and flesh out a few tasks this weekend, so stay tuned!

And thanks a lot, everyone!

tracker1 commented 6 years ago

I'd be happy to participate in the new org... though not sure how much I would contribute beyond reviewing and merging/publishing pull requests. I don't have enough time to participate in the refactoring for separating languages, though would really like to be.

PatrickMassot commented 6 years ago

Are there any news on this issue? My real question is: how plausible it is that the queue of PR adding new languages will be flushed soonish? Note that I'm not complaining about anything, I only try to get some insight.

ddevault commented 6 years ago

I wonder if the best course of action would be to establish a GitHub org and grant all of the volunteers the rights necessary to execute maintainership duties? There needn't necessarily be a single maintainer - more would make the workload easier to handle.

isagalaev commented 6 years ago

I wonder if the best course of action would be to establish a GitHub org and grant all of the volunteers the rights necessary to execute maintainership duties?

Yes, that's the plan. I haven't yet gotten to it because I wanted to write a minimal maintainer's guide with dos and don'ts accumulated over the years. Without one I am bound to remain a bottleneck, this time as a reviewer.

Please be patient! :-)

gusbemacbe commented 6 years ago

@isagalaev

Hi and good morning, I am sorry for sending many same comments to someboy in the iusses and pull requests because I thoght you passed away, but I want to suggest you, so I talked with one of contributors.

I suggest that you talk with Microsoft maintainers (https://github.com/Microsoft/vscode) and its major maintainers are @bpasero, @joaomoreno, @sandy081 and @Tyriar because they use officialy this repository for VSCode for converting Markdown to HTML. Every month Microsoft updates the version of VSCode Insiders, merging hundred or thousands pull requests.

You can find the directory of Highlight.js in the director of an app VSCode. In Linux /usr/share/code/resources/app/extensions/markdown-language-features/node_modules/highlight.js/. In Mac: Visual Studio Code.app/Contents/Resources/app/extensions/markdown-language-features/node_modules/highlight.js. As for Windows, I do not know, because I do not use Windows.

Tyriar commented 6 years ago

+@mjbvz

gusbemacbe commented 6 years ago

@Tyriar, has @mjbvz spoken with @isagalaev ?

mjbvz commented 6 years ago

Sorry but this is not something I'm interested in. Our usage in highlight js is quite limited. We only use it in the markdown preview, and use it there mainly because many websites also use it for syntax coloring

ddevault commented 6 years ago

Yes, that's the plan. I haven't yet gotten to it because I wanted to write a minimal maintainer's guide with dos and don'ts accumulated over the years. Without one I am bound to remain a bottleneck, this time as a reviewer.

I feel like we might have figured it out by now

isagalaev commented 6 years ago

True, and sorry for letting everyone down. Let me find some free evening this week (Wednesday most likely) to just move it over and unblock things.

ddevault commented 6 years ago

Thank you!

isagalaev commented 6 years ago

OK, let me try this again…

I moved the project over to the new place https://github.com/highlightjs/highlight.js and invited @SirCmpwn as a new maintainer (since he prompted me to finally do it, so he's clearly still interested — thank you!). I kindly ask all the others who volunteered (@ldct, @idleberg, @shiya, @sangdth, @DuncanmaMSFT, @tracker1) to shout out if they're still interested, it's been half a year ago after all…

I put a very basic maintainer's guide in place, it'll probably grow to include something about governance. We didn't need it before, but will clearly need from now on.

Finally, I created a ticket for a new build system: #1759. I wouldn't go as far as to say that it's essential for the future maintenance of the project, but it's certainly something which only grows in importance with time.

sangdth commented 6 years ago

@isagalaev I'm still interested.

idleberg commented 6 years ago

@isagalaev I'm still interested.

ddevault commented 6 years ago

Thanks @isagalaev! I invited @sangdth and @idleberg as well.

Let me restate my original offer:

I would be happy to volunteer. I do not have time to work on extended development on the project, but I do have time for maintainership - holding the vision in my head and applying to reviewing pull requests, providing feedback on them, and merging and releasing them.

I still don't have time to do extended development on the project, but I'm going to turn my focus towards the huge backlog of pull requests (122!) we have to get through.

ldct commented 6 years ago

@isagalaev I'm still interested

marcoscaceres commented 6 years ago

I’m also available for code review.

isagalaev commented 6 years ago

@marcoscaceres I see someone added you to the org already, welcome aboard :-) Feels really good to have people doing things that would otherwise be blocked on me!

marcoscaceres commented 6 years ago

@isagalaev, could you kindly add @gmmorris to the contributors? Also, could you give "marcosc" the ability publish on npm?

marcoscaceres commented 6 years ago

Hi folks who offered to volunteer. Could I get a show of hands from those of you who are still willing to help here?

gusbemacbe commented 6 years ago

@marcoscaceres, I would like to volunteer, but I can join only in January.

marcoscaceres commented 6 years ago

@gusbemacbe, January is totally ok :)

idleberg commented 6 years ago

Is there any place to discuss, other than this “issue”? I was thinking of Gitter, Slack, Rocket Chat… you name it.

marcoscaceres commented 6 years ago

Ok, I set up a slack workspace: https://highlightjs.slack.com

But I'll need to send individual invite - folks, please email me at mcaceres@mozilla.com so I can add you.

ldct commented 6 years ago

@marcoscaceres have you thought about using gitter instead? one advantage would be that the discussions would be publicly readable without registration

marcoscaceres commented 6 years ago

@IIIIllllIIIIllllIIIIllllIIIIllllIIIIll I have, but it's Slack is fine... we just need to redirect things back to bugs on Github to keep a record of things. Pull requests and bug details serve as better records for technical discussion, while Slack is good for planning and community building.

isagalaev commented 6 years ago

Hey guys! I just noticed this thread accidentally, and while I'm mostly away from the project, I'm going to set up my notifications in a way so that I will actually pay attention to direct messages. So if you need me to update highlightjs.org in any way, please tell me!

marcoscaceres commented 6 years ago

@isagalaev, much appreciated.

isagalaev commented 6 years ago

@isagalaev, could you kindly add @gmmorris to the contributors?

Done. I also fixed your role to owner, so you can do that too. I was fairly sure everyone I added was oener already, but apparently I missed something.

Also, could you give "marcosc" the ability publish on npm?

This is supposed to happen automatically when a new release is created (https://github.com/highlightjs/highlight.js/blob/master/docs/maintainers-guide.rst#release-process). And I think it makes sense to keep it this way so all updates happen everywhere simultaneously.

marcoscaceres commented 6 years ago

Ok, cool. I'd missed that bit of the maintainers guide.

isagalaev commented 6 years ago

Ok, cool. I'd missed that bit of the maintainers guide.

Also, when you guys decide to make a release, ping me from the release issue so I could look over the server. It should all happen automatically, but given that it wasn't exercised for over a year, some things may have rotten.

marcoscaceres commented 6 years ago

Sounds great. Will do!

joshgoebel commented 4 years ago

No interest in being "principal" maintainer, but I don't mind helping out from time to time with PRs and issues as I can.

joshgoebel commented 4 years ago

And just FYI: if becoming a maintainer is "scary" for anyone who's maybe never done that before or a little commitment shy... then you don't have to step up and say "I'll be a maintainer" or make a huge commitment... There is no official swearing in process required to make a pull request or help out here and there on issues.

There are plenty of PRs tagged with help welcome or beginner... if all you do is drop by and contribute a single PR or two (or help with communication on issues), that would still be greatly appreciated... and maybe you end up staying longer and contributing more, maybe not.

Personally I started with one PR, then another, then eventually 20 more...; and then eventually it made sense to add myself as a listed maintainer in AUTHORS.

Just wanted to encourage others: you can start small if you want and see where it takes you. :-)

NotMoni commented 4 years ago

If it's still possible. I am ready to help and maintain. 🦄

joshgoebel commented 4 years ago

Cool. You could start by cutting your teeth on some of the easy to get started tagged issues:

Or if there is anything specific you're interested in, let me know. The huge CSS consolidation work could use some time invested.

NotMoni commented 4 years ago

Sure mate

joshgoebel commented 4 years ago

Any objections to posting on https://adoptoposs.org ? I just saw this.

egor-rogov commented 4 years ago

Any objections to posting on https://adoptoposs.org ? I just saw this.

I wouldn't expect it to help find enthusiasts, but why not?

allejo commented 4 years ago

Any objections to posting on adoptoposs.org ? I just saw this.

No objections here. I hope something comes out of this :sweat_smile:

bradleymackey commented 1 year ago

Happy to help with some basic PR maintenance: approving PRs runs, closing PRs for new core grammars (with suggestion to add to the third party list) and validating/closing issues.

techbabe23 commented 1 month ago

Hi, seeing that this issue is still open are you still looking for maintainers/contributors/code reviewers?