My advise is to get the most out of the situation as it is: you did a proper replication from the description in the paper (as opposed to "just" running their code) and verified their claims. Publish this as such: this is proper scientific
work.
In your own interest, I'd not mention that you did not do this replication entirely of your own free will.
TLDR:
I fully agree that it is not nice(TM) to not share code (see also below).
According to what you describe, however, this inavailability of the code has lead to further scientific advance than had the code been available to you:
You verfied their claims by implementing from scratch the algorithm described in their paper without any access to their code.
It is scientifically relevant to describe this in your paper since it means that you provide the next higher level of reproduction compared to "only" running their code on your computers: you also verified that the description in the paper is sufficient to reproduce the claims.
IMHO this is particularly important since we do have a reproducibility crisis in many fields.
Sharing code helps with what would be called repeatability in my field (analytical chemistry), but reprodcution or replication of a study/paper is more than that.
Yes, code sharing is nice since it saves a whole lot of work for those who don't want to replicate, it is often the easiest way to unambiguously describe what computations were done, and is also very helpful in tracking down misconceptions by the reader. Still, iff code sharing leads to everyone (or too many) skipping the effort put into proper reproduction/replication it may be counterproductive wrt. the reproducibility crisis.
Thus, I'm a bit torn:
- Their not sharing code is not nice.
- Saying that you did the implementation from scratch only because the code was not available also means admitting on your side that you'd skip a more thorough verification of that paper if you have a choice. Also not nice.
The ideal situation would have been had OP's group done a full verification of the paper and have gotten access to the paper authors' code.
Personally, I'd not allude to any non-scientific reason for tackling the reproduction of that paper.
I use "not nice" here to indicate behaviour that is less than ideal (for scientific advancement) but is also clearly within the allowed range of behaviour.
To be clear, I don't want to force anyone into reproducing other groups' studies. At the same time, if all groups deny to do this kind of "homework", the risk for replication crises increases.
There are levels of not sharing that I consider definitively problematic from a scientific point of view:
- Your proper efforts cannot reproduce the claims and the authors refuse to guide you (whether by sharing code or by looking at your code and telling you what needs to be done differently)
- They claim in the paper that they will share the code, or the journal guidelines stipulate that they'll share but they refuse.
So far, the question doesn't indicate any of these points apply.
To chime in with Anonymous Physicist's answer: I have been working at a research institute where the very official line was that neither code nor data are published with the paper ("are available on reasonable request" was the official wording) - that I would have liked to not only show my research code but put it under an open license did not matter at all.
Thus, had I been author of said paper, you'd have gotten a polite reply that I cannot give you the code without official administrative permission, and would you please contact the director about it. However, I can easily imagine institutes specifying that whoever is contacted about sharing the code has to reply in the negative without creating further work to upper management...
From this experience: if you critizise the authors for not sending the code please make sure that you attach the blame to the correct persons.