Skip to content
This repository has been archived by the owner on Mar 25, 2020. It is now read-only.

The PyPI package is no longer maintain due to some reasons #50

Open
zihaolucky opened this issue Jun 29, 2017 · 10 comments
Open

The PyPI package is no longer maintain due to some reasons #50

zihaolucky opened this issue Jun 29, 2017 · 10 comments

Comments

@zihaolucky
Copy link
Member

All our users,

Glad to create and maintain this project, and happy to know people love it. From the stat, I see every day hundreds of people visiting this repo and using this work. We've also made a PyPI for you, packing all the need for convenience. Many users have involved in this project, contribute your code and report issues.

But I regret to tell you we've just lost the PyPI repo a few minutes ago, I just received a notification mail from PSF said the ownership of the tensorboard PyPI repo has been changed to Google. Without any acknowledgment from me :(

As I've mentioned in #19, a guy from TensorBoard dev team reached me, maybe a month ago, and asked me to give up the ownership as they're going to release the TensorBoard on its own so they want the tensorboard name.

I understand his concerns and respect the work the origin dev team have done. I was going to work with them, trying to push the Standalone TensorBoard a step forward, which is the motivation of this project, to make it benefits even more users. We even discussed possible ways to keep my project's stability, backward compatibility(to merge the logging part back to TensorBoard) and the value of creating a framework-independent layer for logging summaries, then achieve our goal. But I have some work to do before directly hand over the repo to them, as the TensorBoard dev team is in leading position, then I was waiting for their plan.

But the discussion was not satisfying, as the guy from TensorBoard said they're going to keep having TensorFlow as a runtime dependency, which means, even we use the TensorBoard they've released, you still have to log the summary via TensorFlow. He said they might provide a configuration endpoint for our project to change the final built binary tensorboard so there won't be any confusion. But I haven't seen that tool. Throughout the conversation, it made me feel that I have no choice but to do as they want. Besides, I'm going to change the project name(as they want) by using the independent version TensorBoard but failed to do so, because of the TensorFlow dependencies.

Then a guy from PSF came to me and asked me the same thing. I have to claim the rights I have as a PyPI user, the work I have to do as a project maintainer, and explain the objectives of this project and why we do so. Here I want to tell everyone, the reason I kept the tensorboard name is, same as most of the users, that I appreciate the work the TensorBoard team have done(you can also get this message after you read the headline of this project). The PyPI tensorboard we've provided is also for convenience, people won't have to install TensorFlow to use TensorBoard. I have no interest in the name itself, but to provide a pure, framework-independent TensorBoard, a real open-sourced tool.

We'll keep going in this direction, but seems we're not allowed to use words like tensorboard or even tensor I guess, I wish I can use PyPI without afraid of losing it overnight. For our users, we'll keep the source code building method and provide another PyPI after we finish the work.

Here I want to call for your contribution, let's make a real open-sourced project for every deep learning lovers. I guess maybe it's time for me to learn some frontend or backend web dev skills.

Best,
Zihao

@phunterlau
Copy link

Big thanks to Zihao for the extraordinary work of this standalone tensorboard project. I have used this tool in my research and I feel very happy with it. I know many other teams and companies are using it too, and, well, they might feel upset losing it. I see the true spirit of open source from this project: making it open and benefit more people.

I feel very sad that Google took the repo just for themselves, refused to add backward compatibility and discarded all we non-tensorflow users: they didn't even act like a gentleman but just grabbed it from PSF.

Let's think positive: I agree with Zihao that, it can be a good milestone that we can start from scratch and build a tool without any 'tensor' inside, and provide to all MXNet/Caffe(2)/CNTK/Chainer users.

@Lyken17
Copy link

Lyken17 commented Jun 30, 2017

In my understanding, Google team first develops tensorboard to ease the visualization of tensorflow. Because of their API design, it is also possible for those non-tensorflow users to use this. I don't know why they didn't register tensorboard on PyPi at the very first, but obviously, they made the major contribution. I think their request is reasonable.

@Yangqing
Copy link

Yangqing commented Jul 2, 2017

Would like to cc @rajatmonga FYI so we have a complete two-sided story.

Disclaimer: I am not a stakeholder. Am only told about this incident afterwards. Being friends with both dmlc and google, I hope things are / have been addressed in a friendly manner.

@rajatmonga
Copy link

Thanks for adding me @Yangqing

We did build TensorBoard for TensorFlow users, however looking at all the usage across many different projects, we decided to separate it out into its own project so it would be easier to use for many more projects. Along with this change we would like to make it available directly on PyPi - again the goal is to make it available to everyone.

@zihaolucky we appreciate all your work you have done to support this community. Our move is not intended to make it harder for you and others, but easier. Our current changes will make it easier to add new changes and also make them more maintainable. Unfortunately in the short term this may mean some breaking changes - although our team is looking hard to see how we can make this transition happen with the least concern to the community.

We would love to see more collaboration with the community around making TensorBoard better for all. Please do not hesitate to reach out to me for things I can help with.

@szha
Copy link
Member

szha commented Jul 4, 2017

@rajatmonga thanks for the nice other-side-of-story. As a user of @zihaolucky 's standalone tensorboard, I'm very uncomfortable where this is going. Thanks to @zihaolucky, I used to be able to use the visualization tools in tensorboard with other machine learning frameworks, such as mxnet, caffe2, and pytorch, without suffering the hunk of tensorflow dependency. Now I can't. Great job "to make it available to everyone".

It's frustrating to see how inconsiderate and indifferent certain google teams can be about making breaking changes. I feel very sorry to see the actions the team at google decided to take against the contributor of its own open source project, including demanding access without any intention of working with the contributors in the community, threats, and forcibly depriving contributor's access and nullifying his work. The Tensorboard team member certainly has a funny way of showing that "we appreciate all your work you have done to support this community".

As much as I'm disappointed as a user, what's done is done, evil or not. Going forward, I sincerely hope that @zihaolucky won't be devastated by this, and that there will be even more awesome visualization and monitoring tools coming from @zihaolucky and the community, without a fat dependency such as tensorflow.

@zihaolucky
Copy link
Member Author

zihaolucky commented Jul 4, 2017

@rajatmonga Thank you for your reply. Thank @szha and @Yangqing for bringing up the further discussion, the number of potential or actual users of this project might be more than I can imagine.

Dan has written me about this and we have a friendly discussion at the beginning, mostly on how he'll help this project move smoothly and their plan on developing TensorBoard, then I got his reply that they would keep the TF dependency. Then things went wrong and we haven't settled a proper solution for both of us, then a lawyer from PSF came to me and then this unhappy event came afterward.

I acknowledge the issues of the name tensorboard, at first I think if Dan took actual help like help me changing the project an 'appropriate' name, finish the work then everything could be done. I would definitely give the PyPI to him as I've said in the first email that I would give him the control after we finished the necessary work.

But the lawyer from PSF came and that annoyed me. Why? As an individual contributor like many others in the world, I maintain the project after work and it's impossible for me to work as a full-time engineer like him. And I think he might want to be more active on this issue.

In my point of view, a proper solution for this is to make both projects go step further, the TensorBoard has its own repo and PyPI named tensorboard, the standalone version in this project supports more features as the origin TensorBoard provides, such as embedding, currently we have scalar, histogram and image. So @rajatmonga could you help our community by providing this embedding feature? I think @Yangqing, @szha and many more users are happy to see this. Thank you!

@hjk41
Copy link
Member

hjk41 commented Jul 4, 2017

@rajatmonga Thanks for the explanation. But is there a schedule as to when tensorboard will support other framework?

As @zihaolucky has said, this incedent was easily avoidable, should google tensorboard team had shown some interest on merging the changes in this repo. Sadly, the damage had been done. So now it leaves us in doubt if you and you team is really interested in making Tensorboard available for other framworks. If you are, which is great, then you must have a schedule. Please show it to us, and we would be more than happy to do whatever we can to help. But withput a solid schedule, it is hard to believe your team has taken that into consideration. And it is then obvious that you have taken the PyPI repo by force only for the benefit of the company, but not for the interest of the outer world.

@rajatmonga
Copy link

@hjk41 we are happy to accept contributions to the main TensorBoard repo to make it easier to use with other frameworks. The team is interested in collaboration, but that is hard if the other party stops responding.

Here are the steps we are taking to help:

  1. PyPi today still contains the project by @zihaolucky. It should be easy enough to put this project on another name repository on PyPi - my understanding is that @zihaolucky is now planning to use tensorboard-lite on PyPi. Once you put this out, we are happy to add documentation on PyPi TensorBoard pointing users to this site.

  2. We are looking to support the APIs provided by this project in the TensorBoard repo as well. If you are interested in helping with this, it may go faster. That way when the TensorFlow/TensorBoard project gets published on PyPi it can be compatible with your users. Note: This is hard as the TensorBoard project has moved ahead of this fork, and is going to be a maintenance burden for us.

  3. The last concern for this group is the dependency on TensorFlow. This will take a bit more work to remove, but it does make sense to keep it independent and we will remove it.

Overall we are trying to be good citizens and helping as many users as we can - there are lots of TensorBoard users that don't use this fork, and we need to consider them as well. Maintaining forks is hard, and we can't # to maintain/support a fork of our own project - that is not how open source moves forward. We are happy to support more collaboration on the main TensorBoard project itself.

@antinucleon
Copy link

As a previous open source committer, I always appreciate inspiring from each other. I think tensorboard is a trademark of Google, so surely Google should have right to take the PyPI. But as all of our goal is same: AI democracy, I believe we can achieve the goal in cooperate way. Looking forward to pushing forward the technology together and achieving AI democracy. @rajatmonga @Yangqing @zihaolucky

@zihaolucky
Copy link
Member Author

@antinucleon Agree.

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants