-
-
Notifications
You must be signed in to change notification settings - Fork 530
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
Looking for maintainers #1603
Comments
I can help you with that @Nevon, but mainly I want to help you with the supporting libraries that are in kafkajs org |
That's great. I saw you were interested in maintaining the confluent-schema-registry lib, so I've created a team with maintenance access to that repository and invited you as a member. Let's use the issue tracker there for working out what we need to do to make it possible to maintain. |
@Nevon My company Outschool is an extensive user of Kafka.js. We are evaluating potentially adopting maintenance of the project as a company with myself and @nuria as the primary contacts. We had a couple questions about the nature of the role before committing to it. Would you be the right person to talk to about this? Would you prefer discussing these questions here in the issue or through some other medium? |
Here would be ideal, since if you have questions, I bet others will be wondering about those same things as well. |
I would like to contribute but I can only commit a few hours per month.
…On Wed, 30 Aug 2023, 06:00 Tommy Brunn, ***@***.***> wrote:
Here would be ideal, since if you have questions, I bet others will be
wondering about those same things as well.
—
Reply to this email directly, view it on GitHub
<#1603 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABDLW5SRRNNCVJWYUHU7EFTXX3CGBANCNFSM6AAAAAA3ILH26Y>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
@Nevon Could you outline a bit what is the commitment as a maintainer, for example: "node version upgrades twice a year which in the past has taken {this} long". Many thanks for your contributions to this project over the years, we have benefited greatly. |
In my view the main things that are needed, roughly in order of importance, are:
|
Mining what has gone before, how about this for a starting point:
https://chat.openai.com/share/a68b60db-c7a2-493c-b9e8-3ff4502ca20e
…On Fri, 1 Sept 2023, 15:46 Tommy Brunn, ***@***.***> wrote:
Could you outline a bit what is the commitment as a maintainer, for
example: "node version upgrades twice a year which in the past has taken
{this} long".
In my view the main things that are needed, roughly in order of
importance, are:
- Reviewing and helping contributors get their PRs merged (or rejected
if they are not aligned with the project direction). This depends wildly on
how complex the contribution is - sometimes it takes 5 minutes and
sometimes it takes several hours over many weeks. It sucks when people
contribute improvements but no one is able to take the time to land the
change. I would say expect a couple of hours per week on average, but it's
not always a steady stream.
- Making regular releases. Historically we've had a stabilization
period where we've run beta releases in production to catch issues that
slipped through CI, and then made a "stable" release when we feel
confident, but this could change to a more continuous release schedule or
whatever the maintainers feel is the most sustainable. The release process
is *mostly* automated, but it definitely has some rough edges that
could use a bit of work. It's the kind of thing you spend a few hours on
once and then it just keeps working for a few years, so not a huge deal,
but still needs doing.
- Triaging issues. I don't believe it's necessarily the maintainer's
job to debug people's issues, but it is good to at least go through and
close invalid issues, label things correctly and so on, just to avoid the
issue tracker being a jungle. Again, this is a rabbithole where you can
spend hours and hours if you really want to get to the bottom of issues,
and perhaps an hour or two a week if you just want to make sure that each
issue has at least been looked at and closed/labelled appropriately.
- Related to the first point - providing guidance on *what* needs to
be done in order to implement some feature. Sometimes contributors just
open an issue describing the feature they want, then independently
implement the solution and it's all good, but most of the time it's their
first time contributing to a Kafka client and they need some guidance to
figure out how to plan their feature or just get feedback on their idea
before implementing it. This doesn't need to be done by a *maintainer*,
but people tend to look to you for this type of support, so be aware that
it can be a timesink.
- Maintaining node versions and dependency upgrades - frankly very
little time. We don't have any runtime dependencies, so there's not much to
worry about. Maybe a few hours per year, whenever older Node versions
become unsupported and we need to update our CI to match.
—
Reply to this email directly, view it on GitHub
<#1603 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABDLW5VXX2LKP32CDL7C2Y3XYHYLJANCNFSM6AAAAAA3ILH26Y>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
I may be able to volunteer limited time for maintaining. I keep up with the kips for the most part since my company is built around kafka and heavily use this library. Also I would be happy to help with the migration to the kafkajs foundation repo, I have permission from my company to volunteer time. |
I am planning to start using this library. Let's get a hang of this library, and I believe, I can contribute to the library in the long run. There is a huge pipeline of monolithic to microservices migrations with me. Hope for the best! |
Hi @Nevon , This kafkajs library is heavily used in our organization. We are expecting to have new release of this library soon. |
Heyo my company is building out an OSS org and we are forking your KafkaJS package so we can start applying KIPS to it and fix bugs. Since things are frozen here if you are a dev looking to contribute feel free to come over here for now. https://github.com/ExtendOSS/kafkajs |
@HeatherFlux why don't you take over the main repo? |
I would help but until Nevon or Tulios moves it to the kafkajs org and add maintainers my hands are tied. The fork is there as a stop gap until then |
I'd agree that the first step in finding a new set if maintainers would be to move it to the @kafkajs organisation. |
Hi @Nevon I can help, my company uses kafkajs heavily. |
unfortunately the maintainers for Kafkajs also maintain the org. Published first version
Once this can be moved into the KafkaJS org and when we have more maintainers we can refocus work there, I'm mostly hoping this is a temporary home. |
We at @jucr-io also use KafkaJS heavily. Some things we've built here internally and would be willing to contribute to the project include (but are not limited to):
Furthermore, I can also help with hands-on coding as well as general maintenance tasks for the project. Another thing to mention: We're quite well funded and would also provide financial support for the newly formed org. Cheers!🍻 |
@maxgr0 Sounds great to us. I will set up a discord this weekend if that works for folks who want a place to discuss and contribute. |
@HeatherFlux sounds great! Do you post the link here then? |
Sam from Confluent here. I wanted to point out that Confluent is now officially supporting a javascript client with this early access release: https://github.com/confluentinc/confluent-kafka-javascript From the Readme:
|
Thanks @samuelleach - Looks like there's a kafkajs migration guide as well which could be helpful for users ITT. |
Nice this is great news! |
Just for clarity on what they provide, it's an an API with (partial) compatibility with the configuration options of KafkaJS. The protocol implementation is done by rdkafka. I came to use KafkaJS primarily because it didn't rely on these bindings, as solutions like node-rdkafka were very buggy. Arguably, this was years back and that project wasn't owned by Confluent. |
@samuelleach Would you recommend https://github.com/confluentinc/confluent-kafka-javascript if I can use this in production? I would love to use confluent maintained nodejs library for Kafka. Is there a roadmap you can share for your project? |
@Nevon Just wanted to check the state of affairs. Are you still looking for maintainers? I see a few comments on this thread, but not sure if a decision has been made. We're still interested and wanted to touch base cc @nuria @jwmonroe-outschool
|
The largest benefit of this project vs. librdkafka wrappers is the pure JavaScript aspect. Avoiding compiling independently for every deployment platform is extremely important for some of us users. Would be great to have an idea of future direction here if possible. |
@EricMCornelius |
@emasab - while I appreciate that, it does not solve the single executable deployment scenario. And there are still numerous potential compatibility issues (e.g. glibc vs. libc, corresponding versioning), platform testing, and potential security implications. Needing to test and ship platform-specific binaries is a significant additional overhead for some use cases - especially for users who are using SEAs for deployment. I'm just saying it's not a true drop in replacement - and users in this thread should be aware of the potential implications. |
@EricMCornelius I understand that a pure JS implementation would be simpler, if it was only for JS. But languages are many, Kafka clients are complex and it's expensive to keep 5 of more different implementations up to date with latest KIPs and bug free. We don't say that it's a drop in replacement, it's more similar to major release as it needs some code changes, for the imports and the configuration at least. |
@emasab - that's fine - it's just important to make it clear to the community. And I appreciate the work you all are doing. However, I would argue shifting from an actual javascript implementation to a native library with JS bindings is more than just a major update. It's a complete behavioral change. One not necessarily immediately clear from There remains value in pure javascript implementations for a number of users - and therefore it would behoove us to get back to the main question in this issue - which is what the future maintainer options are for this project. |
In my project we use many popular technologies and only Kafka lacks support of native JS client. In my experience, requirements are too strict for already cross-platform NodeJS framework and in some cases installation takes too much time or can't be done successful at all. KafkaJS is very good library that suits my case and my team prefers to use KafkaJS instead of the official client. All I'm saying is that there is should be a choice between native NodeJS library and official librdkafka binding. |
Dear @Nevon , |
This project was started by Tulio and then maintained mainly by him and I for a good number of years as we worked together on projects that used KafkaJS. Tulio no longer works at a company that uses KafkaJS, and while the company I work for does use KafkaJS, I myself don't. The amount of time and energy this project requires to be successful is more than I have the capacity for, given that it no longer really "scratches my own itch", and as a result I haven't been able to tend the garden for the past year or two.
Given that, I think the best thing to do is to put out a call for maintainers so that I can let go and give someone else the chance to take over the reins.
What you should know
How to become a maintainer
First of all, I'm not actually the owner of this repository, so I can't hand out access to anyone. My idea would be to move the repository to the KafkaJS organization and add new maintainer(s) there. This will come with some practical things to sort out, like setting up NPM publish rights and so on, but it'll make it easier to manage the project in the long run. I haven't had a chance to run this past Tulio recently, but this was our plan when he stepped back some time ago, so I don't think it'll be an issue other than just taking some time to get set up.
That said, maintainership of a project like this isn't for someone's first open-source experience. While the license says that the code comes with no warranty, our users still place some trust in us, so I'm not about to betray that trust by handing the keys over to the first person willing to take them. If you do have some experience contributing to related open-source projects, or ideally even KafkaJS itself, then please leave a comment in this thread if you are interested in becoming a maintainer, along with some contact information.
I don't want to be a maintainer, but I still want to help out
That's great. The best thing you can do is probably help out with issue triage. Even if you don't have the permission to close an issue or merge a PR, it still helps whoever is maintaining the project a lot if someone has done most of the work already by the time they get around to reviewing an issue or PR. You don't need any special permission to do this, and never have.
What I would ask that you please don't do is @ me or Tulio with "Any updates on this?" or "When will this be merged?". I understand the frustration, but it causes a lot more stress and guilt than you might think, so please don't.
I don't want to take over as a maintainer, but I still want to get feature/bugfix X into production
Open-source is all about forking, so go right ahead. KafkaJS is licensed under MIT, so as long as you keep the attribution there's nothing preventing you from doing this.
The text was updated successfully, but these errors were encountered: