[ocaml-platform] Is it taking too long for OCaml software to become 4.03-compatible? Would release process changes help?

Fabrice Le Fessant Fabrice.Le_fessant at inria.fr
Thu Jun 30 16:09:21 BST 2016


The reason why OPAM-builder cannot monitor trunk is by design: to achieve
almost real time on a 4-core computer for 5 versions of OCaml, opam-builder
makes an extensive use of caching binary installations of dependencies.
This cannot be done on a moving target like trunk, where you would have to
recompile all packages (all versions, sometimes with different depends
because of depopts) at every commit in the trunk, after clearing the cache.
That's the reason why I only do it for official beta releases, and
opam-builder takes two or three days to compile the repo.
Le jeu. 30 juin 2016 à 16:48, Gabriel Scherer <gabriel.scherer at gmail.com> a
écrit :

> Let's clarify that I am not trying to blame maintainers of packages for
> the issues that I highlighted. I believe that we are all doing our best
> given the current processes and expectations, and I would like to fix the
> process to improve the results. (In particular, I think that the beta
> period for 4.03 was insufficient for maintainers to update their packages.)
>
> Yotam: I don't think a clear separation of responsibility (package authors
> vs. "the entire community") is possible. The free software that powers the
> OCaml ecosystem should be maintained collectively at all times. It is
> particularly true in the context of adapting to a new OCaml version that
> changed some things; it is often the case that the package authors are not
> the most qualified to understand the required changes -- they know their
> codebase well, but don't necessarily follow OCaml evolutions closely.
> Early-adopters and enthusiasts, such as you and I, have a large role to
> play in helping the ecosystem evolve gracefully by sending patches to fix
> the bugs.
>
> Fabrice: again, it's not about who maintains the software (and I don't
> think that the ocaml/ umbrella automatically guarantees more maintenance).
> External contributors can easily fix software to work on trunk or new OCaml
> versions -- I've done it for atdgen and Coqide and it was not much work.
>
> Fabrice: Indeed, I think that opam-builder is a great tool to put at the
> forefront of such an effort. The current version
>
>   http://opam.ocamlpro.com/builder/html/report-last.html
>
> monitors the state of the OPAM repository for released OCaml versions.
> Everything that is orange (except maybe for the "lint" column) is a bug
> that we must collectively fix.
>
> I will try to experiment more with opam-builder (understand its error
> explanations better and try to fix a part of it to see what the experiment
> is) before suggesting any specific process.
>
> On Thu, Jun 30, 2016 at 9:32 AM, Yotam Barnoy <yotambarnoy at gmail.com>
> wrote:
>
>> I've also been bitten by this issue with 4.03. Specifically, Merlin
>> took about 2 weeks post-release to be ready, making it much harder to
>> program in 4.03, and I had a dependency chain that needed OASIS to
>> build.
>>
>> I don't think we can avoid having a specialized pre-release period for
>> getting the packages up and running. I noticed many of these breakages
>> before 4.03 was released, but package authors aren't responsive to a
>> pre-release breakage.
>>
>> It's important to prioritize though -- those packages that have the
>> most reverse-dependencies and the ones that are most popular, should
>> be the highest priorities to fix. OPAM has this info, and just as the
>> https://opam.ocaml.org/packages/index-popularity.html page shows the
>> most popular packages, I think it should pull their build-state for
>> the latest OCAML release version and highlight them if they're broken.
>> Speaking of which, it would be nice if the opam webpage also had a
>> 'sort by reverse dependencies' list.
>>
>> One schedule that perhaps could work would be to have a
>> pre-platform-release month. Within this month, package authors would
>> have the first 2 weeks to fix their packages. After these 2 weeks,
>> there would be a rallying cry to fix packages sorted by priority
>> (highest reverse-dependencies & highest popularity), and the entire
>> community would be mobilized to help in the effort. Once a
>> "sufficient" number of the highest priority packages are fixed, the
>> full release can take place, but the work can be ongoing.
>>
>> -Yotam
>>
>> On Thu, Jun 30, 2016 at 9:17 AM, Daniel Bünzli
>> <daniel.buenzli at erratique.ch> wrote:
>> > Le jeudi, 30 juin 2016 à 13:58, Fabrice Le Fessant a écrit :
>> >> You can ask this kind of diligence from sub-contractors, not from
>> open-source contributors, especially when a package is maintained only by
>> one developer on his/her sparetime.
>> >
>> > I'm not asking anything. I'm only commenting on the fact that Sylvain
>> said that the time response was not long. It wasn't indeed but release time
>> is not the right time point to consider. The right time point to consider
>> is the rc betas.
>> >
>> >> Or if you think these components are key to the infrastructure, why
>> not move their development to github.com/ocaml/ (http://github.com/ocaml/)
>> with a larger team of maintainers, as it was done for OPAM ?
>> >
>> > I personally don't care as I'm not interested in oasis. But many other
>> programmer seem to use it so it's a pre-requesite for them to be able to
>> work in a given release and if this doesn't happen during the betas then we
>> get less testing. Regarding oasis' development model I'll let users of
>> oasis decide on what is best them.
>> >
>> > Best,
>> >
>> > Daniel
>> > _______________________________________________
>> > Platform mailing list
>> > Platform at lists.ocaml.org
>> > http://lists.ocaml.org/listinfo/platform
>> _______________________________________________
>> Platform mailing list
>> Platform at lists.ocaml.org
>> http://lists.ocaml.org/listinfo/platform
>>
>
> _______________________________________________
> Platform mailing list
> Platform at lists.ocaml.org
> http://lists.ocaml.org/listinfo/platform
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ocaml.org/pipermail/platform/attachments/20160630/39fe8db2/attachment-0001.html>


More information about the Platform mailing list