4 ms·
I do appreciate that Google is now officially supporting gcsfuse because it genuinely is a great project. However, their Kubernetes CSI driver seems to have in
by ofek 3y ago
I do appreciate that Google is now officially supporting gcsfuse because it genuinely is a great project. However, their Kubernetes CSI driver seems to have in large part copied code from the one I and a co-maintainer have been working on for years:
- https://github.com/GoogleCloudPlatform/gcs-fuse-csi-driver https://github.com/GoogleCloudPlatform/gcs-fuse-csi-driver
- https://github.com/ofek/csi-gcs https://github.com/ofek/csi-gcs
Here is the initial commit: https://github.com/GoogleCloudPlatform/gcs-fuse-csi-driver/commit/04df4c7f0940a41530e94342e26ac2e65ef8cb77 https://github.com/GoogleCloudPlatform/gcs-fuse-csi-driver/c...
Notice for example not just the code but also the associated files. In the Dockerfile it blatantly copied the one from my repo, even the dual license I chose because I was very into Rust at the time. Or take a look at the deployment examples which use Kustomize which I like but is very uncommon and most Kubernetes projects provide Helm charts instead.
They were most certainly aware of the project because Google reached out to discuss potential collaboration but never responded back: https://imgur.com/a/KDuf9mj https://imgur.com/a/KDuf9mj
- ofek 3y agoUpdate: attribution has been added to the readme file https://github.com/GoogleCloudPlatform/gcs-fuse-csi-driver/commit/40dbfc5b736948f82051539ed9926609f399b792 https://github.com/GoogleCloudPlatform/gcs-fuse-csi-driver/c...
- js2023 3y agoHi Ofek, I am a contributor who works on the Google Cloud Storage FUSE CSI Driver project. The project is partially inspired by your CSI implementation. Thank you so much for the contribution to the Kubernetes community. However, I would like to clarify a few things regarding your post. The Cloud Storage FUSE CSI Driver project does not have “in large part copied code” from your implementation. The initial commit you referred to in the post was based on a fork of another open source project: https://github.com/kubernetes-sigs/gcp-filestore-csi-driver https://github.com/kubernetes-sigs/gcp-filestore-csi-driver. If you compare the Google Cloud Storage FUSE CSI Driver repo with the Google Cloud Filestore CSI Driver repo, you will notice the obvious similarities, in terms of the code structure, the Dockerfile, the usage of Kustomize, and the way the CSI is implemented. Moreover, the design of the Google Cloud Storage FUSE CSI Driver included a proxy server, and then evolved to a sidecar container mode, which are all significantly different from your implementation. As for the Dockerfile annotations you pointed out in the initial commit, I did follow the pattern in your repo because I thought it was the standard way to declare the copyright. However, it didn't take me too long to realize that the Dockerfile annotations are not required, so I removed them. Thank you again for your contribution to the open source community. I have included your project link on the readme page. I take the copyright very seriously, so please feel free to directly create issues or PRs on the Cloud Storage FUSE CSI Driver GitHub project page if I missed any other copyright information.
- SamuelAdams 3y agoYour repository seems to have both an Apache and MIT license. What license are you distributing your code under? Edit: I see you said it’s dual licensed. From the look of it both allow Google or any other company to copy and reuse code, so what are you upset about?
- ofek 3y agoEither, the choice is up to you. edit: as I express in a sibling comment this act is legally allowed of course, but is bad practice
- MuffinFlavored 3y ago> but is bad practice Says who/why? "It's mean/I don't get a callout/the credit I deserve" is "bad practice"? Why aren't you honored that your product was good enough for Google to absorb and build off of? I'd be super proud.
- ericpruitt 3y agoI have to agree. I use non-copyleft licenses because I don't expect people using the code to give me anything in return. Removing your the header and attribution is wrong, but not collaborating? As was said in other comments, if that's what you want, dictate it in your license because there are plenty of -- and dare I so most -- people that use the MIT license that don't care.
- Matl 3y agoThis is why free software and open source aren't the same. Free software is about this kind of fairness, among others. The simplicity of open source does have its downsides.
- aprdm 3y agoWhy it is bad practice ... ?
- prpl 3y agounless there are legal definitions to “bad” it’s well within their rights you’ve granted them. You can’t have a license that says one thing and then rely on implicit community norms to expect something to happen. (For one, you’re assuming the person is even aware of the community norms)
- mox1 3y agoYou licensed the code as MIT - https://github.com/ofek/csi-gcs/blob/master/LICENSE-MIT https://github.com/ofek/csi-gcs/blob/master/LICENSE-MIT Are you saying you have an issue with them copying your MIT licensed code?
- ofek 3y agoYes, copying the code without following up to actually collaborate or even forking to show attribution I think is bad practice for such a large organization, or any entity for that matter.
- tantalor 3y agoIf that's what you want, then update your license to require that.
- ofek 3y agoAre you of the opinion that because a behavior is legal that necessarily makes it right in all cases? If so, I suppose that is where I disagree.
- warent 3y agoYou seem to be interpreting a license as a legal formality that shouldn't be taken so literally. It is a form of very explicit and literal communication. Unfortunately you sent an unambiguous message to the world inviting them to do this. (Disclaimer that I briefly worked at Google years ago) EDIT: Well OP did not give them permission to alter the license. Sorry this happened to you. https://news.ycombinator.com/item?id=35791737 https://news.ycombinator.com/item?id=35791737
- joecool1029 3y agoIf their behavior annoys you, why not DMCA takedown the repo in retaliation for them stripping the copyright header? It'd be within your rights since they violated the license and sends a message they can't ignore. Otherwise if you're upset they otherwise used code you released under a permissive license that's a personal problem. You signaled to the world that you'd relax your copyright under a permissive license and don't like the results? This is like gifting something and being mad about how the gift was used. As others have pointed out you don't seem to grasp why licenses exist in the first place? No org or individual in general wants to play guessing games and risk liability. It's entirely on you to signal how you want your work to be used.
- penciltwirler 3y agoHaha a lot of funny comments here. I think overall it's neither here nor there. You should be proud that the "elites" at Google copied your code ;)
- whuan 3y agoAre you accusing Google of "large part copied code" based on an old commit which is not even used in this official launch? Do you have any evidence from their recent commit? At least I don't see the current two repos are anywhere alike, except for that you both implement the same interface. Also, they did reach out to you and you just didn't respond, so why are you complaining now? It makes me sad that no one here cares about whether your blame is true. And I'd expect you can provide more convincing evidence. But looks like the accusation is not even true. It's not fair for those contributors man, I hope you can apologize.
- ofek 3y agoI'm not sure if you thoroughly read what I wrote but I did respond to them. This is not a false accusation as you are claiming, you can check the contents of the repo in the current state. Per the licenses they can copy but they must maintain attribution which has not been done.