I asked for help optimizing my Julia code, now it's someone's package?

looking at the thread you mentioned, I noticed that your code only has several lines, how could someone create a package with so few lines of code?

K-means is not really a complex algorithm to implement. You donā€™t need 1000 lines of code to do that?

That was the issue. Common courtesy requires prior notice to even know the original intent. What if there was already a plan to package it later (there wasnā€™t)?

Most communities operate in that way to even avoid duplication of ideas and/or projects.

They was no foul play intended on both sides.

While taking you serious I I too have some sympathy for the easily identified person, who first helped to get your code up to speed, and then packaged it for your and our convenience, whos fault is mostly a bit suboptimal communication about plans. That person is now having the community holding public court over their ā€œbehaviourā€ and with some of our ā€œbig shotsā€ chiming in, all while not following audiatur et altera pars. Maybe we can call it a day by now.

14 Likes

Thereā€™s no bad blood between anyone. Still collaborating with said person (without any grudges) on the code. This post wasnā€™t meant to be some attack on anyone. If anything, it was meant to know how the community handles collaborative work.

1 Like

Ah, that is good then. :+1: Should we then wrap it up?

1 Like

It was wrapped up even before this question was raised.

This thread is still quite useful for anyone dealing in open collaboration. Still, most problematic things in this community get solved somehow which is quite refreshing :slight_smile:

2 Likes

FWIW,

  1. I donā€™t know who that person is (yes, I am too lazy to find it out, and I donā€™t care to play detective),
  2. as I indicated above, I would love to listen to that personā€™s point of view,
  3. but canā€™t do this until they actually chime in.
1 Like

Well, aforementioned person is me, and I would like to explain my side of things. There was some good progress in corresponding thread, but communication through pieces of code and gist became rather problematic. So I put it all together, set up some testing and benchmarking environment and approached topic starter with proposal to continue work in this repo (it wasnā€™t registered of course, just a bucket for code). I saw it only as a better way to work on the problem and there were no evil intentions on my side, neither I wanted to claim ownership of the code. In hindsight I can see that it was inappropriate and offending, so when I received negative reaction I apologized and removed this repository. In my defense I can say that I was caught in the process and thought more about the problem itself and less about legal/property issues.

This is all just misunderstanding and miscommunication, and I feel rather sad that it turns out like this. I hope no damage has been done to anyone.

41 Likes

Thank you for clarifying this, I really appreciate it.

I hope that the resulting code is not lost and will eventually be made available in a nice package (existing or new), with documentation, unit tests, shiny bells & whistlesā€¦

6 Likes

There was no need to even apologise once we reconciled all our intentions. Super grateful for you to have taken your time and resources on the initial code. I will be poking you for more tips in the future. I hope you donā€™t let this miscommunication discourage your much needed help with other newbies.

3 Likes

Also anyone reading this looking for a K-Means implementation, there is an excellent one in the aptly named Clustering.jl

3 Likes

Agree - and I apologize for what might seem like kicking a leaf pile. But I didnā€™t want to move on because it seemed like, to the extent there was agreement on community norms, it was siding with being proprietary about the code from an open discussion.

Thanks for chiming in. Given the original description of the issue, this is exactly what it seemed like to me, and personally, I think this sort of behavior should be encouraged.

Then you could still package it later? Or you could ask for the person to transfer ownership of the repo to you (based on all the evidence, Iā€™m guessing @Skoffer would have been happy to do this). Being upset about this seems like letting the perfect be the enemy of the really really good.

I do apologize for being antagonistic here*. My generous read of this post is that you felt like someone was taking credit for your work, and itā€™s understandable that you would be upset about that. To the extent weā€™re using this thread to establish community norms, I think we can all agree that people should not take credit for other peopleā€™s work.

But I also think that, given the evidence you initially presented (and I think confirmed by @Skofferā€™s post), thereā€™s very little chance that this is what was happening. I will echo others that I really appreciate that youā€™re clearly not holding any kind of grudge. :heart: this community!

* Itā€™s quite possible my vituperation is coming from a totally unrelated situation at work where a number of people are being jerks about taking credit for things they didnā€™t do, denying credit to others etc. My apologies if thatā€™s bleeding into my responses here.

10 Likes

Iā€™m a little disturbed reading this. Putting myself in @Skofferā€™s shoes, I donā€™t think I would have thought twice about doing what they did: wrapping up a snippet of code that implements an existing, well known algorithm that they collaborated on improving into a package.

Legality aside, Iā€™m not even sure I think one would be in the right to demand the package be taken down or to have ownership transferred (Iā€™d gladly do so in such a situation, but I have a hard time seeing why one should be compelled to do it).

12 Likes

Iā€™d like to suggest we avoid having this turn into a tempest in a teapot. There was no ill intent, and to the contrary this incident emerged from people trying to be helpful. At most itā€™s a question of what messages were sent when, i.e., subtle nuances of communication, and doing any better involves the kind of optimization that we surely can all apply to our own interactions with others. All the participants have been very adult about this (thanks @PyDataBlog and @Skoffer), and the rest of us should not turn into gawking bystanders.

24 Likes

I agree there was no reason to put repo down. I guess @Skoffer did solid work with good test coverage. I have a lot of @Skofferā€™s code in my repos on my github and he never did any problems about that.

1 Like

It might be a good point in time to close this thread? It seems everything has been said, everyone was civil, so a good point to move on?

6 Likes

Yes, except that good piece of code is lost and Iā€™d like to see it available. There should be @PyDataBlog included in copyright notice and everyone should be happy.

2 Likes

The repo will be back. Itā€™s not lost.

4 Likes