JuliaStats / Klara.jl

MCMC inference in Julia
Other
167 stars 38 forks source link

Klara instead of Lora (for historical reasons) #141

Closed papamarkou closed 8 years ago

papamarkou commented 8 years ago

@fredo-dedup I wanted to ask you if it would be ok with you in case I proceed with a last breaking change regarding the name of the package, renaming it for the very last time. I feel a really nice name to pick would be Klara, named after Klara von Neumann. As I have been reading various sources about the history of Monte Carlo (in relation to a book I author in the field, plus in relation to our package), I came to appreciate the role of Klara von Neumman as one of the founders of Monte Carlo in the 40s. She was also a pioneer programmer, one of the few first who wrote code in machine language. Calling our package Klara, would be i) nice in the sense that we would pay tribute to one of the founders of Monte Carlo, and actually a female scientist, which I regard to be positive as a way of recognizing her work, ii) it would be a highly relevant choice of name for our package in terms of conext, iii) it rhymes with the older Lora name (this last point is more of a joke). If you don't want any issues with this very last renaming, I would be very happy with Klara as a name.

fredo-dedup commented 8 years ago

I like your idea and its historical connection. Agreed.

papamarkou commented 8 years ago

Thank you @fredo-dedup, happy to see that you agree. In this case, I will proceed with the renaming.

@tkelman, what is the best way to proceed in order to rename the package from Lora to Klara?

tkelman commented 8 years ago

Basically, you shouldn't. Considering there are other packages that depend on this one, if you want to develop it under a new name going forward, it's best to make a new copy under the new name and go from there. Once the new name is running, you can deprecate the old name for some future version of Julia, after giving all current users of the package adequate time to migrate.

papamarkou commented 8 years ago

What you say makes sense. All right, I will wait a bit more, until I am done with the package documentation that I started writing last week and once done, I will make the Klara copy to make the transition then. I expect myself to finish with the documentation before JuliaCon.

papamarkou commented 8 years ago

Hi @tkelman (cc @ViralShah), I hope my message finds you well. I would like to follow up and kindly ask if it would be possible to allow me to rename the package from Lora to Klara without having to create a new repository. I have received a couple of emails from colleagues, who also favoured calling the package Klara. The reason I do not wish to create a new repo from scratch is because this specific repo has been around for years now, it has established its audience, it has been liked on github, and in general has received some publicity. Redirecting the code to a new repo would result in losing all these positives related to the social aspect of github code sharing. The downside of renaming the repo is a temporary and superficial breakage of dependencies, which can be easily fixed by changing “using Lora” to “using Klara”. In fact, we had renamed this package before from MCMC to Lora, and the disruption was very temporary.

I would feel indebted if you could take the above remarks into consideration, and therefore give me permission to rename the present repository, which is important to remain the home for the relevant code.

ararslan commented 8 years ago

FWIW it appears that only two registered packages have versions that currently depend on Lora, Mads and BIGUQ, both of which are under the same organization and appear to be actively maintained. So if the name were to change, the disruption in terms of registered packages would likely be brief. The more difficult breakage is user code, since active users of the package may not actively follow the project, and will be surprised when using Lora suddenly fails.

Admittedly I haven't followed the development here too closely so I don't know the reasoning behind initially changing the name from MCMC to Lora, but I think in general more descriptive package names increase visibility and awareness, so if it were me I probably wouldn't have changed it from MCMC. That said, it's already Lora, a name which I, as a relative layperson, don't mentally associate with Markov chain Monte Carlo methods, and I similarly make no such association with the name Klara. So I think from a visibility perspective not much will change, save for folks who currently know it as Lora.

tkelman commented 8 years ago

Changing the name would also cause issues with all existing past tags. It's bad for reproducibility to intentionally break versions of code that formerly worked.

tkelman commented 8 years ago

There would be another option if you want to preserve the issues and github stars.

  1. Fork the package to your personal account or a different organization like JuliaArchive
  2. Make sure the fork is up to date with all tags and latest commits, enable issues on it
  3. Redirect metadata to that fork that should be identical in terms of code for now
  4. Once metadata url for Lora is changed, then rename this package and register it under the new name as if it's a new package.
papamarkou commented 8 years ago

That sounds a complicated yet clever hack, I will try it, hoping I won't mess it up...!

Ok, first I will need to tag a minor version of the existing Lora, because I added an adaptive HMC sampler with dual averaging 2 days ago, which is not on metadata yet.

I have 2 questions about steps 3 and 4. In step 3, how do I redirect the metadata to the fork? In step 4, when I reregister this package as Klara, I guess it will be tagged as version 0.0.1 (I don't mind, just asking)?

Finally, once all is done, do we need to keep the forked Lora for a while in metadata? Again I don't mind, just attempting to follow your plan.

tkelman commented 8 years ago

step 3 is just changing the Lora/url file in metadata.

the forked Lora would be kept in metadata indefinitely for archival purposes, reproducing past code.

registering as Klara 0.0.1 would require deleting all the git tags which is probably not a good idea. maybe better to register using a new major version number higher than where Lora leaves off.

papamarkou commented 8 years ago

Assuming I haven't made any mistakes in the process, I completed the four steps. Once Klara is registered on METADATA, I will close this issue.

tkelman commented 8 years ago

@scidom you needed to do the steps one at a time. not all at once.

papamarkou commented 8 years ago

The renaming from Lora to Klara has been done thanks to @tkelman, so I will close this issue.

papamarkou commented 8 years ago

@tkelman, I forgot to ask one thing; the badges http://pkg.julialang.org/?pkg=Klara&ver=0.4#Klara and http://pkg.julialang.org/?pkg=Klara&ver=0.5 on the readme file do not seem to work, do you know how I could fix this?

tkelman commented 8 years ago

be patient and wait until pkgeval runs next