google / charts

https://pub.dev/packages/charts_flutter
Apache License 2.0
2.81k stars 1.2k forks source link

📣 This project is no longer maintained #798

Open stuartmorgan opened 1 year ago

stuartmorgan commented 1 year ago

This project is no longer maintained, and will not receive further updates. We invite anyone interested in coordinating the establishment of a community-maintained fork to discuss below.

fzyzcjy commented 1 year ago

I am interested :)

p.s. my master branch is pointed to https://github.com/google/charts/pull/765

jraufeisen commented 1 year ago

Would be a shame to let this project die! Count me in

tushar0518 commented 1 year ago

@fzyzcjy let us know when you make a fork from it. or you can just share a GitHub URL. Thanks

fzyzcjy commented 1 year ago

@tp-coderbabu It is already there, with latest flutter support: https://github.com/fzyzcjy/charts

BrayFlex commented 1 year ago

I am interested :)

p.s. my master branch is pointed to #765

Do you plan to publish your repo to pub.dev?

fzyzcjy commented 1 year ago

@BrayFlex Sure, if @stereotype441 and google charts maintainer thinks it is proper

stuartmorgan commented 1 year ago

@fzyzcjy There is no longer a maintainer of the packages in this repository, so it's up to the community to decide what (if anything) to do next.

I created this thread simply so that there would be a place for anyone in the community who might be interested in creating a new package forked from this repository to (if they so choose) coordinate on forming a single fork maintained by multiple people. A single fork with multiple owners would be more likely to be sustainable than multiple one-off forks by individuals.

If one or more community-maintained forks are created, they can also be referenced here as a way for people to find alternatives to this discontinued project.

fzyzcjy commented 1 year ago

@stuartmorgan Thanks and I totally agree.

So, anyone who are interested in maintaining it, just ping me and I will add the permission to the fork

FeodorFitsner commented 1 year ago

Those closed PRs referenced in this issue - should they (some of them) be integrated (already integrated?) into the fork? Do all of them make sense?

atn832 commented 1 year ago

Until the community agrees on a specific fork and publish a new package, a quick workaround to get the latest updates is to set up a dependency override:

dependency_overrides:
  # Keep until https://github.com/google/charts/issues/798 is resolved.
  charts_flutter:
    git:
      url: https://github.com/fzyzcjy/charts.git
      ref: master
      path: charts_flutter

I use @fzyzcjy's because there's a few commits I wanted in my project. One can use any other fork.

keeganskeate commented 1 year ago

Are we supposed to trust @fzyzcjy "+=1 (seriously this is the name)" located in "Solar system" who's made 25,695 contributions in the last year (as of 2022-10-21) with the security of this new fork? Should we assume @fzyzcjy is a benevolent individual who wants to provide us with super-safe code? @stuartmorgan, do you have any concerns about Flutter developers depending on this fork?

fzyzcjy commented 1 year ago

Haha, and I have made a few open-sourced library with totally 3k stars:

image

Btw, for security, why not just look into the code so you can confirm yourself :)

keeganskeate commented 1 year ago

I like that you and @atn832 responded within 5 minutes of me posting, thank you.

fzyzcjy commented 1 year ago

@keeganskeate You are welcome. Anyway, I will not have a ton of time maintaining the fork (given so many open source libs that I already need to maintain), but I use it in my own app so at least I can guarantee it is not stale.

stuartmorgan commented 1 year ago

@stuartmorgan, do you have any concerns about Flutter developers depending on this fork?

I'm not sure why this question is addressed to me; please see my comment above.

keeganskeate commented 1 year ago

The main reason that I asked you @stuartmorgan is because I thought that perhaps you may be a good judge if this new fork may be safe to depend upon or not. Would you ever depend on the fork by @fzyzcjy in your own work? The discussions above, including your comment, suggest to me that Flutter developers should depend on @fzyzcjy fork moving forward. This raises a concern to me and I thought that it would be responsible to raise my concern. If I am off-base or misread the discussion, then I apologize.

fzyzcjy commented 1 year ago

@keeganskeate By the way, I am quite curious why you are so skeptical about me :) Have you ever used open source libraries from non-big-companies before?

josxha commented 1 year ago

@keeganskeate I think you need to revisit the previous conversation. The issue was kindly opened to encourage a conversation about further maintenance.

Nowhere does it say that you should use @fzyzcjy's fork or that it is being handled as an official successor from Google's perspective. @fzyzcjy has been the only person since a month to offer to keep the project usable for the future. You might as well make and maintain your own fork - that's how open source works. (:

In addition, stuartmorgan has made it clear that Google's maintenance on the project has been discontinued. So you can guess that they won't do a code review on forks and won't make a recommendation about what version to use.

There is no longer a maintainer of the packages in this repository, so it's up to the community to decide what (if anything) to do next.

stuartmorgan commented 1 year ago

The discussions above, including your comment, suggest to me that Flutter developers should depend on @fzyzcjy fork moving forward.

I'm not sure what in my comment you are reading as an endorsement of any specific package, but that's not my role here.

keeganskeate commented 1 year ago

Thank you @josxha, revisited. You are all 100% correct. Nowhere did anyone explicitly say to depend on @fzyzcjy's fork. However, I interpret @stuartmorgan's comment, "A single fork with multiple owners would be more likely to be sustainable than multiple one-off forks by individuals." as implying that @fzyzcjy's fork should be used. If this is an incorrect implication, then I have already apologized for misreading the conversation. @stuartmorgan your hand's off approach, once again my interpretation, is concerning to me. I believe that software developers have responsibility for the software that they create. From what I can tell, @fzyzcjy is an anonymous account used by many, many people. It has been well documented that anonymous agents often behave rudely, aggressively, and illegally. I believe it is wildly irresponsible to give even a slight impression that a package as large as this one should be forked and depended upon by an anonymous agent.

@fzyzcjy, may I ask what is your company? May I view your website? I would love to learn more about you and your company. I was simply under the impression that you were an anonymous user, if this is not the case, then you have my full apology.

For those who run into the same concerns as I, then I am exploring the fl_chart package. This package has the notice, "As you might know, Islamic Republic of Iran is murdering people in silence right now in Iran They shut the Internet down to do that. That's why I cannot maintain this library for a while.". This maintainer, Iman Khoshabi, is not anonymous, which I like, but the notice gave me pause because the package is explicitly not under maintenance. Upon researching the open source Flutter charting packages available, including this repository, I have decided to try using fl_chart. If anyone has a better suggestion, then I am all ears. I am simply trying to plot an interactive timeseries and tend to prefer packages used by many (any maintained by non-anonymous people).

Thank you all for your engagement. My interpretation of the conversation stands and has perhaps even deepened.

A side note on open source software: I am familiar with open source software, however, I am not an expert (far from it) of computer science and often have to ask others for help. When I create figures in Python, I use matplotlib. I don't have time or the knowledge to maintain my own fork, so I have to trust the maintainer, Michael Droettboom. He is a computer scientists who has published multiple research papers. Although I can't blindly trust him, I am able to use heuristics to make my best guess that I can trust that the package is safe. I think that it is unreasonable to maintain a fork of every 3rd party package that I use, so I often have to rely on the reputation of the maintainer(s). I am far, far from an expert, hence while I asked @stuartmorgan questions and will defer to the community on how best to use 3rd party Flutter packages, such as which charting packages are good to use.

Thank you all for your engagement, I apologize if I offended anyone, and I hope you all the best with your projects. Keep on Fluttering 🐦

fzyzcjy commented 1 year ago

From what I can tell, @fzyzcjy is an anonymous account used by many, many people.

What??? I am ONE PERSON.

(give me ~a minute~ a few minutes to write down reply)

fzyzcjy commented 1 year ago

@keeganskeate Indeed I am angry about this accuse, but I will try to express as calm as I can.

From what I can tell, @fzyzcjy is an anonymous account used by many, many people. It has been well documented that anonymous agents often behave rudely, aggressively, and illegally.

Please give strong evidence if you think "@fzyzcjy is many, many people".

Please also give evidence that I behave "rudely, aggressively, and illegally". I have had sent a ton of messages in GitHub and Flutter Discord, you can freely look at all of them and pick out what you think is rude/aggressively/etc. For your convenience, here are discussions about flutter_smooth between me and other people (archived so people interested in flutter_smooth can quickly know background): https://cjycode.com/flutter_smooth/insight/conversation Please pick messages that you think have problem and reply here.

@fzyzcjy, may I ask what is your company? May I view your website? I would love to learn more about you and your company. I was simply under the impression that you were an anonymous user, if this is not the case, then you have my full apology.

Company: As I have stated in GitHub profile, +=1 (plus equal one). Indeed its full name is not in English (since not an American company). As I have said many times to my friends, I have to open a company simply because the gov in my country forbids people from buying a backend server for any usage except for personal blog, and I want to make an app with backend. I deliberately choose this name, because it makes it very clear that this is not a serious company but just something that a pure-programmer has to have.

Website: I do have a blog, but again, not in English, that is why I do not link it in GitHub - otherwise when someone clicks they will find text that cannot understand. Do not want to translate the whole site here - will take so long time.

Let me translate the pinned post here:

[Pinned Article] My goal of life

Frequently, there are people who gets confused - why do I spend two years doing this project (remark: "this project" means my app), and then go to read PhD, while the two seems to be totally contrary? This is because of my goal of life. Text version of the goal: When thinking as a math optimization problem, it is maximizing "the number of people that I have helped" times "how much I help each person" times "the moral quality of the person" Formula version of the goal: ... (not translated, photo below) ... image

So can you understand why I do open source? It is the same as making my app or reading a PhD - it helps people.

I see you also suspect the location is "solar system". Then maybe you should suspect Hixie (github.com/hixie) because his location is "earth". In addition, I prefer "solar system", because I think open source is not limited to country, but should be something that the whole human being all share and contribute. Therefore, it is nonsense to say I am in country A and you are in country B etc.

I see you also suspect the number of commits. Please have a look at the public flutter_smooth (and other open-source lib I made) commit history. As you can see, my style is to make commits pretty small, because I personally feel it "atomic" and can quickly see what is happening when searching back. I also see the very famous book, Refactor, also has something similar - commit for every little change in refactor.

I also work (usually) without pausing on holidays or weekends. Programming is not something I have to do, but what I love to do (love it since I was a little child). Don't you feel super excited when you find out a solution after a ton of failures (the flutter_smooth idea)? Isn't it an aha moment when an idea comes into life into an app that did not exist in the world before? Don't you feel the beauty of writing code?

Anyway I am going to sleep, so will reply after ~8 hours if not seeing reply within a few minutes.

stuartmorgan commented 1 year ago

However, I interpret @stuartmorgan's comment, "A single fork with multiple owners would be more likely to be sustainable than multiple one-off forks by individuals." as implying that @fzyzcjy's fork should be used.

I've already explicitly said that my comments here are not intended to endorse any specific package. Please don't continue to put forward interpretations of my comments that I've said are not accurate, as it may mislead others reading this thread.

My comment means exactly what it says, and it didn't say that anyone should do anything. As I also said above: "it's up to the community to decide what (if anything) to do next". This thread was created simply because without a centralized place for discussion, complete fragmentation would have likely been the only plausible outcome, whereas a discussion space allows for the possibility of other outcomes.

@stuartmorgan your hand's off approach [...] is concerning to me. I believe that software developers have responsibility for the software that they create.

I'm not creating any software here, I'm moderating a discussion thread. Any forks would be the responsibility of the developer(s) creating those forks.

For those who run into the same concerns as I, then I am exploring the fl_chart package. [...] [I] will defer to the community on how best to use 3rd party Flutter packages, such as which charting packages are good to use.

If you would like to discuss possible alternative packages to use as a client, please consider one of the resources listed at https://flutter.dev/community#community-grid. That discussion is not on topic here, as this thread is for potential fork maintainers. Per the initial post:

We invite anyone interested in coordinating the establishment of a community-maintained fork to discuss below.

stuartmorgan commented 1 year ago

(I'm going to hide several comments above as off-topic. Anyone with questions or concerns about using any given fork should follow up with the developers of the fork in their own repository, and/or with the community in general discussion space, as they would with any other package in the ecosystem.)

fzyzcjy commented 1 year ago

@stuartmorgan Could you please hide https://github.com/google/charts/issues/798#issuecomment-1290697190 a bit later since otherwise people cannot see my reply but have seen his reply, so I am accused, thanks :)

EDIT: Hmm I realized github does not have a "cancel hide" feature... So maybe I should post again:


@keeganskeate Indeed I am angry about this accuse, but I will try to express as calm as I can.

From what I can tell, @fzyzcjy is an anonymous account used by many, many people. It has been well documented that anonymous agents often behave rudely, aggressively, and illegally.

Please give strong evidence if you think "@fzyzcjy is many, many people".

Please also give evidence that I behave "rudely, aggressively, and illegally". I have had sent a ton of messages in GitHub and Flutter Discord, you can freely look at all of them and pick out what you think is rude/aggressively/etc. For your convenience, here are discussions about flutter_smooth between me and other people (archived so people interested in flutter_smooth can quickly know background): https://cjycode.com/flutter_smooth/insight/conversation Please pick messages that you think have problem and reply here.

@fzyzcjy, may I ask what is your company? May I view your website? I would love to learn more about you and your company. I was simply under the impression that you were an anonymous user, if this is not the case, then you have my full apology.

Company: As I have stated in GitHub profile, +=1 (plus equal one). Indeed its full name is not in English (since not an American company). As I have said many times to my friends, I have to open a company simply because the gov in my country forbids people from buying a backend server for any usage except for personal blog, and I want to make an app with backend. I deliberately choose this name, because it makes it very clear that this is not a serious company but just something that a pure-programmer has to have.

Website: I do have a blog, but again, not in English, that is why I do not link it in GitHub - otherwise when someone clicks they will find text that cannot understand. Do not want to translate the whole site here - will take so long time.

Let me translate the pinned post here:

[Pinned Article] My goal of life

Frequently, there are people who gets confused - why do I spend two years doing this project (remark: "this project" means my app), and then go to read PhD, while the two seems to be totally contrary? This is because of my goal of life. Text version of the goal: When thinking as a math optimization problem, it is maximizing "the number of people that I have helped" times "how much I help each person" times "the moral quality of the person" Formula version of the goal: ... (not translated, photo below) ... image

So can you understand why I do open source? It is the same as making my app or reading a PhD - it helps people.

I see you also suspect the location is "solar system". Then maybe you should suspect Hixie (github.com/hixie) because his location is "earth". In addition, I prefer "solar system", because I think open source is not limited to country, but should be something that the whole human being all share and contribute. Therefore, it is nonsense to say I am in country A and you are in country B etc.

I see you also suspect the number of commits. Please have a look at the public flutter_smooth (and other open-source lib I made) commit history. As you can see, my style is to make commits pretty small, because I personally feel it "atomic" and can quickly see what is happening when searching back. I also see the very famous book, Refactor, also has something similar - commit for every little change in refactor.

I also work (usually) without pausing on holidays or weekends. Programming is not something I have to do, but what I love to do (love it since I was a little child). Don't you feel super excited when you find out a solution after a ton of failures (the flutter_smooth idea)? Isn't it an aha moment when an idea comes into life into an app that did not exist in the world before? Don't you feel the beauty of writing code?

Anyway I am going to sleep, so will reply after ~8 hours if not seeing reply within a few minutes.

stuartmorgan commented 1 year ago

@fzyzcjy Please do not attempt to continue a discussion that I have already explained is off-topic.

fzyzcjy commented 1 year ago

@stuartmorgan Sure, I will not post anymore.

But please give a chance for me to explain :( Otherwise I am accused.

FeodorFitsner commented 1 year ago

We've been in search for a Flutter charting package for our project and indeed the current choice is limited to charts_flutter (this project) and fl_chart. There is also "syncfusion" package, but it's not open-source.

Google charts is a great piece of software and, at a glance, more feature-rich than fl_chart and it would be sad to waste it.

The project (fork) would receive more trust and visibility if hosted under an organization, and it will be more convenient to work with multiple contributors too.

What about moving the project under Flutter Community org? Is it a good candidate for it? Who should initiate the transfer?

talamaska commented 1 year ago

Those closed PRs referenced in this issue - should they (some of them) be integrated (already integrated?) into the fork? Do all of them make sense?

From what I see some of them do make sense. Some of them are fixing issues with using old dart lang. Some are maintenance things and some are adding features. i personally would love to see the proper custom labels implementation, which i saw somewhere in the issues. It was using private apis, which we can now make public, since we can now fully control what is exposed and what not. In some sense, google dropping the support gives us freedom of adding features quicker and fix issues quicker. Although it really leaves a bitter taste, since the company is using it's own repo with some of the fixes we need to implement alone, because Analytics app is still using the library. For me this not quite a good signal to the community and suddenly brings a question why google can support the js library but not the flutter one.

stuartmorgan commented 1 year ago

Proposals to integrate PRs from this repository into any given fork should be made in the fork's repository, rather than here, since it would be up to the maintainer(s) of that fork to decide what to accept.

stuartmorgan commented 1 year ago

What about moving the project under Flutter Community org? Is it a good candidate for it? Who should initiate the transfer?

Neither this project nor the existing packages would be transferred to another organization. If the maintainer(s) of a fork want to pursue that route, they would initiate that process with their repo/packages.

juliansteenbakker commented 1 year ago

I needed a stable version of this package so I've forked this project and published it under the name community_charts_common & community_charts_flutter. In this version i've fixed several outstanding problems so that it will run stable on the latest Flutter version. This version also fixes some bugs that were present in other forks like @fzyzcjy that caused pie charts to not load.

There are still some tests that needs to be migrated to null-safety, but I'm open for PR's.

vanga commented 1 year ago

Hi, I am exploring https://developers.google.com/chart to use in one of my works and came across this issue, it is not clear to me if this repo is related to that or not. Could someone please clarify if both the projects are the same? I hope not, I don't see any deprecation/discontinuation notices on the official site.

talamaska commented 1 year ago

The website you are looking at, is the javascript equivalent. Unfortunately the flutter version got discontinued. We don't know what are the reasons. There are some good forks and at least one alternative library.

stuartmorgan commented 1 year ago

This repository will now be archived. See comments above for some possible forks to consider, and for any further discussion of new forks consider general Flutter discussion resources such as those listed at https://flutter.dev/community#community-grid.