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

Difficult times - Looking for Maintainers #160

Open
Joelius300 opened this issue Nov 8, 2020 · 20 comments
Open

Difficult times - Looking for Maintainers #160

Joelius300 opened this issue Nov 8, 2020 · 20 comments

Comments

@Joelius300
Copy link
Contributor

Joelius300 commented Nov 8, 2020

Finally, 2.0 is released. I'm sorry for the long wait.

As a short disclaimer before you continue reading this: I'm very thankful for Marius creating this library and giving me the opportunity to maintain it. Although you might find some frustration in my statements, I don't want anyone to spread hate towards Marius. I will continue to support him and so should you.

Release 2.0

You'll notice that the 2.0 release isn't hosted on the official ChartJs.Blazor but instead on ChartJs.Blazor.Fork. The reason for that is simple, I cannot publish to ChartJs.Blazor. I pushed everything to the releases branch but the release pipeline was paused quite a while ago and I don't have permission to enable it again. The same goes for the samples thus https://www.iheartblazor.com/ will remain in an old state as long as Marius doesn't return to update it. Of course I tried to publish it normally but Marius hasn't responded to my mail so I thought I'd get it over with now.

Past year

Marius (@mariusmuntean), the owner of the project, has had very little involvement throughout the last year. Both the project maintenance and the development of version 2.0 was done by me since the end of 2019 and I really enjoyed it. However, single-handedly maintaining a library with ~80k downloads as an 18yo without real world experience was challenging at times.
I was the one who put in some horrible features and made some terrible decisions (e.g. the covariant datasets) which made the library unpleasant to use. The goal of version 2.0 was to fix all of my prior mistakes and make the library ready for easy use in most projects. I believe version 2.0 accomplishes that goal but that doesn't mean the library is now finished. We're still only supporting Chart.js 2.9, there are still missing features and bugs (e.g. support for gradients, issues with responsiveness) and we don't have any docs yet.

Future

I will continue to maintain this library by responding to issues and fixing urgent bugs. However, I won't actively develop new features.
I'm still hoping Marius will return and either continue to work on the library or hand the ownership to someone else. I don't feel comfortable searching for new maintainers in the name of the library since I'm "just" a contributor.
However, if you'd like to help develop this library and/or take over it, please tell us and we might get back to you.

When Chart.js 3.0 releases, many people will want to upgrade and so will the people using ChartJs.Blazor. I encourage you to try working with Chart.js 3.0 if you need the new features or the insane performance improvements but it will require some customization and you should probably use your own fork for it (and reference that directly). In the spirit of Open Source, I highly encourage you to contribute those changes back to the library ❤️

As a side-note, I have compiled some of my thoughts in a GitHub project. These are just some points that were important to me and I thought I'd do something public instead of just telling Marius about it.

My journey

Back when I started to work on this library (June 2019), I had very little experience. I had only worked on a handful of terrible school projects, never seen or worked with Open Source and had zero experience with Blazor. As such, most of my changes were bad but for better or worse, they all found their way into this library and now about 80k projects have to suffer from my incompetence. After some time, I got better at programming (of course I'm still nowhere) and started to understand and like Open Source. Suddenly I found myself being the maintainer of this fast growing library in the fast growing Blazor ecosystem. Although stressful (I'm sorry for all the poor issuers that received an unfriendly response), it was a really educational period.
At some point I realized just how big this library got because searching "blazor chart" on google shows this repo as first result. This might be influenced but on DuckDuckGo, it's the 4th entry. Also, ChartJs.Blazor is used in a sample project of an official dotnet repo along with multiple Microsoft employees opening issues on our repo. I thought this was absolutely insane and being the only person actively working on the repo, I didn't want to make all these people use a version that never should've been considered 1.0 in my books. So I got to work on 2.0 and now we're here.
Unfortunately, I have continuously lost interest in this library and it was just about finishing 2.0. A big factor in this is probably that I don't use Blazor myself anymore and I don't think I'll get back to it until .NET 6. Now that version 2.0 is released, I can peacefully slow down my activity here. As I said, I will continue to assist with issues because at the very least, this library has a special place in my heart.

Closing

I'd like to thank everyone who supported me and this library be it opening helpful issues, submitting pull requests or participating in discussions.

Special thanks go to Marius (@mariusmuntean) who has made this all possible in the first place. Without him, ChartJs.Blazor wouldn't exist.

I wish everyone the best
~Joel

Update 24.01.2021

Thank you all for this journey, it's been great. Now, it's time to say goodbye. The last semester of my apprenticeship is about to start and I'd like move on from ChartJs.Blazor. I have contacted Marius multiple times about the state of the library, the 2.0 release and me leaving. I've not heard back from him.
That being said, I wish ChartJs.Blazor the best and it makes me happy to see this community be so helpful and grateful. It's not a big community but we've surpassed 100k downloads recently and I'll gladly look back on this achievement in the future.

As suggested in the comments, I've also contacted Blazorise but I won't pursue that further (if you'd like to, please do).

Goodbye
~Joel

@Joelius300 Joelius300 pinned this issue Nov 8, 2020
@larschristensen20
Copy link

Thank you for your continuous work during the past year @Joelius300. Question: I'm curious if you have been in contact with Microsoft about the project and its future at any point?

@Joelius300
Copy link
Contributor Author

@larschristensen20 Thank you for using the library and being so cooperative with your issues :)

Question: I'm curious if you have been in contact with Microsoft about the project and its future at any point?

No, I haven't. Marius started the project, I got into it but it never went beyond being a small project fueled by a few peoples spare time. Why do you ask?

@LukeTOBrien
Copy link

LukeTOBrien commented Nov 11, 2020

Well as a 18yo this is a good thing to put on your CV and talk about in interviews, good job!

@larschristensen20
Copy link

@larschristensen20 Thank you for using the library and being so cooperative with your issues :)

Question: I'm curious if you have been in contact with Microsoft about the project and its future at any point?

No, I haven't. Marius started the project, I got into it but it never went beyond being a small project fueled by a few peoples spare time. Why do you ask?

Had a train of thought about them maybe being interested in helping maintain it, but it might very well just have been wishful thinking :-)

@LukeTOBrien
Copy link

Also Blazorise use ChartJS, maybe you could take a look? 😉

@Joelius300
Copy link
Contributor Author

Well as a 18yo this is a good thing to put on your CV and talk about in interviews, good job!

Thank you, I definitely will :)

Had a train of thought about them maybe being interested in helping maintain it, but it might very well just have been wishful thinking :-)

I'd also say that's closer to wishful thinking, at least I wouldn't know about similar projects and I also don't know how I would go about asking them. I could see them sponsoring such projects but even that seems highly unlikely to me given that the project still isn't huge.

@Joelius300
Copy link
Contributor Author

Also Blazorise use ChartJS, maybe you could take a look? 😉

That's actually a really good pointer, thank you! Maybe they're interested in a collaboration or they could actually supersede our library with theirs 🤔 Both seem like good options. They do have a lot more resources available and ChartJs.Blazor would definitely fit in their system.

@larschristensen20
Copy link

Also Blazorise use ChartJS, maybe you could take a look? 😉

That's actually a really good pointer, thank you! Maybe they're interested in a collaboration or they could actually supersede our library with theirs 🤔 Both seem like good options. They do have a lot more resources available and ChartJs.Blazor would definitely fit in their system.

+1 for this, I would love to see this project integrated into theirs

@Joelius300
Copy link
Contributor Author

I'll ask them, why not :)

In the end, Marius will have to decide what's going to happen to this library but one of the great things about Open Source is that Blazorise can integrate our library into theirs (almost) however they wish.

@LukeTOBrien
Copy link

LukeTOBrien commented Nov 11, 2020

Glad you find it helpful. BTW here is the poorly designed website for the app I'm working on.

@axelroy
Copy link

axelroy commented Nov 11, 2020

Thank you so much for maintaining this repository, you've done an incredible job. The 2.0 version seems to fix all the bug remaining in the application I'm currently on, it's really a fantastic news.

The migration procedure from 1.1 to 2.0 is also very precise and straighforward. 👍

I'm very thankfull for your job, and althought I do not program in Blazor very often, I will keep an eye on this project, and I might contribute in the future.

@PizzaConsole
Copy link

@Joelius300 Thank you so much to your commitment to this project!

@Joelius300
Copy link
Contributor Author

Thank you all for the positive comments. I posted an update on the original issue.

TL;DR Goodbye ❤️

@PizzaConsole
Copy link

@Joelius300

I will continue to maintain this library by responding to issues and fixing urgent bugs. However, I won't actively develop new features.

I highly disagree with this. If the maintainer of this project has abandoned it then someone should probably create a fork of this and actively maintain and update that fork as the new current version. Then this project should be marked as obsolete with a disclaimer that it's no longer being maintained, and put a link to the new project. There are plenty of cases where this has happened before on github.

@Joelius300
Copy link
Contributor Author

@PoisnFang I thought it worked pretty good for the three months this "mode" was in action. Multiple bugs were fixed and the alternative was leaving the repo for good (which I'm doing now) in which case I wouldn't have fixed any of these bugs..

Now I'm leaving this library and yes, if you fork it and actively maintain it feel free to post about it here in a short comment. But saying "someone" should create a fork and actively maintain that sadly doesn't do the trick.

Do you think it would be better to more clearly highlight that it's unmaintained in the readme?

@PizzaConsole
Copy link

But saying "someone" should create a fork and actively maintain that sadly doesn't do the trick.

I agree, if I decide to maintain it in the future then I will post.

Do you think it would be better to more clearly highlight that it's unmaintained in the readme?

Yes please do this.

@PizzaConsole
Copy link

@Joelius300 Please put it at the TOP of the Readme in big bold letters. I do plan on taking this project on to maintain either in a fork or my or custom build for it.

@pgrimstrup
Copy link

pgrimstrup commented May 29, 2021

@Joelius300 I have submitted a PR for some changes. I am also keen to take on maintainer role of this repo. Is there a way you can provide me with write access to the repo? Please see the issue I have raised #191

@PoisnFang Are you moving ahead with a fork? I have created a fork and have started making some bug fixes. As per your suggestion, this repo should be marked as non-maintained and point to either my fork or your fork. I can send you the changes I have submitted so far.

I am actively using this library in several commercial and personal projects. I want it to continue. My plans are to build a v3 of this repo targeting v3 of ChartJS, and to create a .NET Core 5 branch.

As everyone in the community has said so far, @Joelius300 @mariusmuntean thank you for your time and commitment to this project. You can rest now. I am able to stand on the shoulders of giants and continue forward.

@PizzaConsole
Copy link

@pgrimstrup No, I am not actively maintaining a fork of this any more. We should continue with your fork.

@kchristman54
Copy link

Just thought I'd let you all know of a new Blazor ChartJs implementation I encountered recently: https://github.com/erossini/BlazorChartjs Time will tell if it will be actively maintained, but to me that is more important than if the initial feature-set is less.

@Joelius300 Joelius300 changed the title Difficult times Difficult times - Looking for Maintainers May 4, 2023
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

7 participants