Closed ineiti closed 6 years ago
That sounds reasonable to me.
Not saying I want to keep the experimental tag but how hard would it be to just add it to the cothority testing "flow" ? Just for comparison. I'm not saying I absolutely want to keep it, but back at the time we spent quite of time working on what should be exp and what should not and how to keep it tight etc, and just getting back to the old state because "it does not work as-is" seems a little bit an abrupt approach to me. We should first check if it's feasible at all to compile with the exp flag and see what are the pros and cons of both approaches and then decide. It might turn up that indeed this flag is just stupid and encumbers everyone by adding a 200 lines to each code that uses it. But it might not and in that case, the price of the tag is still worth it.
When we added it, the goal was to separate the experimental code from the stable code. Then Bryan came along with the idea of having a script to create a stable branch using gopkg.in
. This brings us now to three levels of maturity:
kyber.v1
(defined by the stable/directories
)kyber.master
(things not defined in stable/directories
, but not marked experimental
)kyber.master
using the experimental
tagI think the following is enough:
kyber.v1
(defined by the stable/directories
)kyber.master
(things not defined in stable/directories
)Of course, for something like the incoming dedis/cothority#1056, it will not get into the stable/directories
of cothority and as such not go into cothority.v2
as long as the corresponding libraries in kyber are not in kyber.v1
.
So I vote +1 for having 2 levels of code maturity only.
For dedis/cothority#1056 we need experimental code. if we keep the
cothority.v2 -> onet.v2 -> kyber.v1
and
cothority.master -> onet.master -> kyber.master
then we can put the evoting code in master, but not in
v2
. And as such we don't need theexperimental
tag anymore.