Compiling BATSH

@darrenldl

Out of curousity I tried to compile your version of Batsh with your version of Dlist inside Docker and I ended up with the following:

File "lib/winbat_format.ml", line 44, characters 16-36:
44 |     if bare || ((String.get ident 0) = '%') then
                     ^^^^^^^^^^^^^^^^^^^^
Error: This expression has type char but an expression was expected of type
         Core_kernel.Int.t = int

However your released binary works as expected. Great job.

Which version of OCaml are you on? The Docker image used by Travis CI is running 4.09, the version on my computer is 4.08.1, so it should build on either of the two versions. But I’m not sure about older versions otherwise.

I was using 4.08.1 because I have read somewhere that that is the version you are using.

No clue then, but doesn’t matter too much since you’ve got a static binary copy anyway. Also just heads up, there’s a v0.0.7 release with version string patched in, but otherwise not much is changed.

For now I created the following, but I will probably make some editions. We will see how using Batsh will go from now on.

I am happy, because it removes one more item (once released on opam) from this list: The end of Camlp4 - List of packages that still use it.

Sadly, the author still didn’t merge PRs. Not to say anything about publishing the new version in opam…

He sadly does not seem interested. Maybe in the worst case, we need to push a new opam package, even if this would be kind of bad.

Maybe it would make sense to move the repo somewhere (GitHub creates redirects for that) or give some people access to maintain it. That way it is somewhat more “legitimate” than just any fork.

1 Like

On the other hand, if the fork is “approved” and just plain better, plain improved, it will quickly be a valid and legitimate replacement. Happened to a LOT of open source projects, before.

1 Like

Sure, but by not moving it, you will need to add a note anyway that development is moved somewhere else, and instead of things redirecting transparently you need to have manual intervention of determining that URLs need to be adjusted and figuring out which URL that is. As with Tim Berners-Lee: Cool URIs don’t change.

OTOH If such a note is not added, how would you prove that the original author approves the new repository.

1 Like

I think the lack of the answer goes as a silent approval. Would be awesome if @darrenldl publish new version of Batsh and Dlist on opam with the new repos as the source.

I noticed I missed some responses which I probably should have chimed in, sorry about that.

@Akito @Leonidas @XVilka I can shoot another email toward the author and see what he thinks, but I don’t want to give the impression to the community that I am available to maintain it at all.

If under said premise it’s still desirable that I publish it, possibly only to change hands later, then I’m happy to send another email after the holidays to check which option the author prefers (i.e. transferring the repo, or note the fork as the official replacement, and/or publish under a new name say Batsh2 or whatever).

2 Likes

It’s been a week since my email, and I haven’t received any response, so I might look into submitting the packages as Dlist2 and Batsh2 (will wait for another week or two before actually doing it).

Is there any convention/policy on whether I can reuse a large part of the name without the author’s permission if the original author has stopped supporting the project?

Isn’t it enough that he did not respond? I think it would be fine to leave it as you proposed, but put a disclaimer into the description like “if there is a problem with the name, just contact XY” or something like that. I honestly don’t think he would send a lawyer after you or any of us. :laughing:

Well he might be in a long break (some of my colleagues, including myself are still on leave), so I’ll wait a bit longer just to be safe/polite.

True, I have never personally seen an non-company owned OSS gotten into a nasty legal situation.

I guess my question was more related to avoiding looking like name squatting/phishing, but OPAM submission goes through manual reviews rather than being fully automatic, so I guess the concern isn’t overly relevant.

I’ve got a reply from Carbo about him being okay with the possibilities of arrangement (transfer of ownership, or publishing under Batsh2+Dlist2, etc).

I was thinking ocaml-community org might be a good fit for Batsh if it’s still somewhat actively used? In which case I’ll open an issue at the meta repo at the ocaml-community.

Otherwise I don’t mind holding onto the ownership, or just have my forks named Batsh2 and Dlist2 and published accordingly. OTOH I am not familiar with what happens to the changes made in fork if repo ownership is transferred.

Any thoughts? @Akito @XVilka

You can ask Carbo, the author of Batsh, to:

  1. Tag the description of his Batsh GitHub project with the following:
  [INACTIVE] A language that compiles to Bash and Windows Batch http://batsh.org
  1. Update the top of the README to mention: “This project is no longer being actively maintained. A recent build is available at https://github.com/darrenldl/Batsh”.
1 Like

Repo transfer should work fine, and Batsh is probably not that popular enough for the ocaml-communiity.
What you can do - create a new GitHub organization, with multiple users - e.g. yourself, the original author (just in case), you can add me, I can do simple maintenance like I already do in some other organizations. This way also every pull requests, issues, forks, stars, notifications, etc will be preserved.

I kinda prefer this way actually - creating an org escaped me for some reason.

And yeah, Batsh is not popular enough to warrant transfer to ocaml-community most likely.

(Thanks for the reply and templates tho @shakthimaan !)

An additional benefit is things will get redirected to the org repo automatically.

I’ll wait and see if @Akito has anything to add. If this org repo approach sounds fine to akito then I’ll email back accordingly.