New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rolling and tagging #300

Closed
jubianchi opened this Issue Nov 5, 2013 · 50 comments

Comments

Projects
None yet
@jubianchi
Member

jubianchi commented Nov 5, 2013

I think discussions about rolling-releases and tag strategy are a bit messy and also dispatched among several issues, so let's try to gather evrything here:

So let me sum-up:

  • atoum is actually not tagged
  • atoum follows the rolling-release principle
  • atoum contributors are working hard to maintain a maximum BC
  • no tag could lead to undesirable side-effects on projects using atoum
  • adopting tags would "ease" working with composer

What has been proposed:

  • adopting tags in conjuction with rolling-release: the two concepts are not exclusive, the master branch could still be used as the rolling one and the tags would be here for those who don't want to adopt rolling-release
  • being semver compliant: to me, if we adopt tag, we should (must ?) follow semver for several reason. Tags would have semantical meanings, everybody understand that and it works great with composer and version constraints
  • using a custom tag format (like the one @Hywan proposed)

What we have to define before doing anything:

  • What would be the release cycle ? we put a tag on each push ? each day/week/month ? ...
  • What would be the mainteannce policy ? should we maintain minor versions or encourage users to update to the next release when they get a bug ?
  • Who will be the release manager ? a bot ?
  • What is the tag format ? x.y.z is a good scheme but it does not do everything:
    • x would start at 0 or 1 ?
    • should we only increment z on minor (non breaking) changes and y otherwize ?
  • Where do we put/ talk about those decisions ? In the readme via the #285 ? in the FAQ ?

There could be some more questions to answer, please, let us know if you see something missing here :)

This was referenced Nov 5, 2013

@jubianchi

This comment has been minimized.

Show comment
Hide comment
@jubianchi

jubianchi Nov 5, 2013

Member

Here are my thoughs:

adopting tags in conjuction with rolling-release

👍 : we let the user choose how he want to use atoum

being semver compliant

again, 👍 as it seems that this convention is well known and adopted

using a custom tag format

👎 as it is in conflict with the previous point

What would be the release cycle

To me, the faster is the better

What would be the mainteannce policy

Maintaining minor version in conjuction with a fast release cycle seems to be a lot of work. But, atoum offers (and tries to guarantee) maximum BC so minor versions should not be mandatory and upgrae to the next release should not break if we match semver

What is the tag format ?

x.y.z is the best to me, beginning with a 0.y.z or 1.y.z should not be a big problem.
Using z for non-breaking commits and y in case of BC break seems good to me

Where do we put/talk about those decisions

I would say everywhere: in the readme, in the FAQ, on twitter, ...
We have to be carefull of one things: things have to be CLEAR and well organized. Each part at the good place.

Member

jubianchi commented Nov 5, 2013

Here are my thoughs:

adopting tags in conjuction with rolling-release

👍 : we let the user choose how he want to use atoum

being semver compliant

again, 👍 as it seems that this convention is well known and adopted

using a custom tag format

👎 as it is in conflict with the previous point

What would be the release cycle

To me, the faster is the better

What would be the mainteannce policy

Maintaining minor version in conjuction with a fast release cycle seems to be a lot of work. But, atoum offers (and tries to guarantee) maximum BC so minor versions should not be mandatory and upgrae to the next release should not break if we match semver

What is the tag format ?

x.y.z is the best to me, beginning with a 0.y.z or 1.y.z should not be a big problem.
Using z for non-breaking commits and y in case of BC break seems good to me

Where do we put/talk about those decisions

I would say everywhere: in the readme, in the FAQ, on twitter, ...
We have to be carefull of one things: things have to be CLEAR and well organized. Each part at the good place.

@stephpy

This comment has been minimized.

Show comment
Hide comment
@stephpy

stephpy Nov 5, 2013

Member

adopting tags in conjuction with rolling-release
being semver compliant
using a custom tag format
What would be the release cycle
What would be the mainteannce policy
Where do we put/talk about those decisions

Agreed with @jubianchi

What is the tag format ?

If we are sure to never be BC break (or rarely), we could use:

  • x => bc break
  • y => feature addition
  • z => bugfix

But what @jubianchi said looks good too.

Member

stephpy commented Nov 5, 2013

adopting tags in conjuction with rolling-release
being semver compliant
using a custom tag format
What would be the release cycle
What would be the mainteannce policy
Where do we put/talk about those decisions

Agreed with @jubianchi

What is the tag format ?

If we are sure to never be BC break (or rarely), we could use:

  • x => bc break
  • y => feature addition
  • z => bugfix

But what @jubianchi said looks good too.

@gyndav

This comment has been minimized.

Show comment
Hide comment
@gyndav

gyndav Nov 5, 2013

Agreed with @stephpy format format proposal.
Be aware of Composer aliasing feature.

gyndav commented Nov 5, 2013

Agreed with @stephpy format format proposal.
Be aware of Composer aliasing feature.

@mageekguy

This comment has been minimized.

Show comment
Hide comment
@mageekguy

mageekguy Nov 5, 2013

Contributor

Since a few moment, atoum is tagged.
Please, say welcome to version 0.0.1.
The tag format is currently 0.0.x, and x will be increment on each push on the master branch.
With this solution, we are always in rolling-release, but a tag is available for users which want to deploy their software more securely.
So, i think that it's a good compromise.
Versions of atoum which are not tagged has a version equal to DEVELOPMENT-0.0.x, where 0.0.x is the last tag.
From a technical point of view, script to manage tagging and push it to this repository is available in scripts/git/pusher.php (do scripts/git/pusher.php for more information).
If you want more information, the class which handle this job is classes/scripts/git/pusher.php and we are available on the IRC channel.
WARNING: Currently, PHAR version is not tagged accordingly.

Contributor

mageekguy commented Nov 5, 2013

Since a few moment, atoum is tagged.
Please, say welcome to version 0.0.1.
The tag format is currently 0.0.x, and x will be increment on each push on the master branch.
With this solution, we are always in rolling-release, but a tag is available for users which want to deploy their software more securely.
So, i think that it's a good compromise.
Versions of atoum which are not tagged has a version equal to DEVELOPMENT-0.0.x, where 0.0.x is the last tag.
From a technical point of view, script to manage tagging and push it to this repository is available in scripts/git/pusher.php (do scripts/git/pusher.php for more information).
If you want more information, the class which handle this job is classes/scripts/git/pusher.php and we are available on the IRC channel.
WARNING: Currently, PHAR version is not tagged accordingly.

@mageekguy mageekguy closed this Nov 5, 2013

@willdurand

This comment has been minimized.

Show comment
Hide comment
@willdurand

willdurand Nov 5, 2013

Thank you.

willdurand commented Nov 5, 2013

Thank you.

@marmotz

This comment has been minimized.

Show comment
Hide comment
@marmotz

marmotz Nov 5, 2013

Contributor

I'm very happy you make this choice

Contributor

marmotz commented Nov 5, 2013

I'm very happy you make this choice

@omansour

This comment has been minimized.

Show comment
Hide comment
@omansour

omansour commented Nov 5, 2013

👍

@mnapoli

This comment has been minimized.

Show comment
Hide comment
@mnapoli

mnapoli Nov 5, 2013

  • what is the point of having a 3 number version (X.Y.Z) if you are only going to use the last one? what about BC breaks for example?
  • people here and elsewhere expressed the opinion that semver would be a good thing to follow. Using 0.x.x version numbers doesn't fit semver at all...

Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.

(http://semver.org/)

Since atoum is considered stable, it should start at 1.0.0.

  • with the current workflow, you might end up with version 0.0.837. Does this really mean anything in terms of version, is that really useful to have one tag per push? I don't think so, less frequent build (daily?) would be as useful.
  • what is the point of opening this discussion to unilaterally close it 1 hour later, without taking into account what people expressed (semver, tag format, …)?

mnapoli commented Nov 5, 2013

  • what is the point of having a 3 number version (X.Y.Z) if you are only going to use the last one? what about BC breaks for example?
  • people here and elsewhere expressed the opinion that semver would be a good thing to follow. Using 0.x.x version numbers doesn't fit semver at all...

Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.

(http://semver.org/)

Since atoum is considered stable, it should start at 1.0.0.

  • with the current workflow, you might end up with version 0.0.837. Does this really mean anything in terms of version, is that really useful to have one tag per push? I don't think so, less frequent build (daily?) would be as useful.
  • what is the point of opening this discussion to unilaterally close it 1 hour later, without taking into account what people expressed (semver, tag format, …)?
@ludofleury

This comment has been minimized.

Show comment
Hide comment
@ludofleury

ludofleury Nov 5, 2013

Contributor

Agree. Sadly, I step down from the organization.

Contributor

ludofleury commented Nov 5, 2013

Agree. Sadly, I step down from the organization.

@Ocramius

This comment has been minimized.

Show comment
Hide comment
@Ocramius

Ocramius Nov 5, 2013

@mageekguy \o/ Thanks

@mnapoli good point, but at least we have one tag now...

[EDIT] now I get the joke :-(

Ocramius commented Nov 5, 2013

@mageekguy \o/ Thanks

@mnapoli good point, but at least we have one tag now...

[EDIT] now I get the joke :-(

@stephpy

This comment has been minimized.

Show comment
Hide comment
@stephpy

stephpy Nov 5, 2013

Member

I would be favorable to x.y.z ... but x.y with X = bc break, Y = bugfixes + features is better than nothing.

Member

stephpy commented Nov 5, 2013

I would be favorable to x.y.z ... but x.y with X = bc break, Y = bugfixes + features is better than nothing.

@willdurand

This comment has been minimized.

Show comment
Hide comment
@willdurand

willdurand Nov 5, 2013

@mnapoli mate, it is just a joke. Say "thank you" and start using another project.

The only good thing is that tags are more readable than SHA ids.

willdurand commented Nov 5, 2013

@mnapoli mate, it is just a joke. Say "thank you" and start using another project.

The only good thing is that tags are more readable than SHA ids.

@jeremyFreeAgent

This comment has been minimized.

Show comment
Hide comment
@jeremyFreeAgent

jeremyFreeAgent Nov 5, 2013

Contributor

@mageekguy you're the man! I think it will be easier to encourage projects to use atoum and one day we will close #144 🍺
Everyone, that was a good threat, thanks (@stephpy, @willdurand, @jubianchi, @marmotz, @ludofleury, @omansour).

Contributor

jeremyFreeAgent commented Nov 5, 2013

@mageekguy you're the man! I think it will be easier to encourage projects to use atoum and one day we will close #144 🍺
Everyone, that was a good threat, thanks (@stephpy, @willdurand, @jubianchi, @marmotz, @ludofleury, @omansour).

@jubianchi

This comment has been minimized.

Show comment
Hide comment
@jubianchi

jubianchi Nov 5, 2013

Member

@mnapoli things will be made clear in the readme/FAQ.
Keep in mind that we are able to increment x and y when something breaks compatibility.

with the current workflow, you might end up with version 0.0.837

What's wrong with that ?
atoum will be locked to 0.0.* so you will never mind about this number. Moreover, we think (and work hard to guarantee) that each commit/push on atoum gives a shippable version, so why not tagging them ?

what is the point of opening this discussion to unilaterally close it 1 hour later

What is the point of commenting just after it is closed when it was opened to sum-up feedback that never comed here ? :p

start using another project

@willdurand if you keep switching project/software/tools/whatever each time they don't fit your will, I think you are up for an endless work :p

The only good thing is that tags are more readable than SHA ids.

@willdurand you made the point : for atoum, tag are juste a prettyfied way of pointing SHAs.

To get a clean, better, approved, < whatever you want here > strategy, we need to gather suggestion not only critism.

Thanks everyone.

Member

jubianchi commented Nov 5, 2013

@mnapoli things will be made clear in the readme/FAQ.
Keep in mind that we are able to increment x and y when something breaks compatibility.

with the current workflow, you might end up with version 0.0.837

What's wrong with that ?
atoum will be locked to 0.0.* so you will never mind about this number. Moreover, we think (and work hard to guarantee) that each commit/push on atoum gives a shippable version, so why not tagging them ?

what is the point of opening this discussion to unilaterally close it 1 hour later

What is the point of commenting just after it is closed when it was opened to sum-up feedback that never comed here ? :p

start using another project

@willdurand if you keep switching project/software/tools/whatever each time they don't fit your will, I think you are up for an endless work :p

The only good thing is that tags are more readable than SHA ids.

@willdurand you made the point : for atoum, tag are juste a prettyfied way of pointing SHAs.

To get a clean, better, approved, < whatever you want here > strategy, we need to gather suggestion not only critism.

Thanks everyone.

@stephpy

This comment has been minimized.

Show comment
Hide comment
@stephpy

stephpy Nov 5, 2013

Member

It's may be a stupid question, but on 0.0.* as x.y.z you want to use:

  • y = for bc breaks
  • z = features, bugfixes

WHY are you using x ? ... y.z would suffice...

Member

stephpy commented Nov 5, 2013

It's may be a stupid question, but on 0.0.* as x.y.z you want to use:

  • y = for bc breaks
  • z = features, bugfixes

WHY are you using x ? ... y.z would suffice...

@jubianchi

This comment has been minimized.

Show comment
Hide comment
@jubianchi

jubianchi Nov 5, 2013

Member

@stephpy I would say : we don't know yet but perhaps, tomorrow we'll find a new way of running test with better perfs, etc and this needs a partial rewrite of the core...

I would also answer with another question (not any offense) just to find problems with the current strategy : What's the problem of a 3-level tag, even if we stick the first level to 0 for now ?

Member

jubianchi commented Nov 5, 2013

@stephpy I would say : we don't know yet but perhaps, tomorrow we'll find a new way of running test with better perfs, etc and this needs a partial rewrite of the core...

I would also answer with another question (not any offense) just to find problems with the current strategy : What's the problem of a 3-level tag, even if we stick the first level to 0 for now ?

@mnapoli

This comment has been minimized.

Show comment
Hide comment
@mnapoli

mnapoli Nov 5, 2013

@jubianchi I understand I never participated, I was just lurking :). But I didn't see a need to participate, the suggestions before @mageekguy posted were sane: simply use semver. The final decision didn't take into account all the suggestions, and didn't leave any opportunity to react.

with the current workflow, you might end up with version 0.0.837

What's wrong with that ?

Nothing is wrong per se, it's just not optimal. People will either use tags and be happy with daily (or less frequent) tags, or they want to stay always up to date and they can use the master. So there's no use in tagging every commit or so. That's a minor issue though.

To get a clean, better, approved, < whatever you want here > strategy, we need to gather suggestion not only critism.

Unfortunately it seems that suggestions are not very listened to. It seems the only thing that came out of this versioning debate (not just on this thread) is "OK I've made you a 0.0.1, we'll tag everything, is it over yet?".

I'll comment no more, everything has been said already and I don't think everyone wants to debate the thing over and over again. At least now there's a 0.0.1. But we know what to expect now.

PS: 0 as major version implies that it's a beta version, unstable, that may change anytime (per the semver standard). It's the opposite of what you want. People will get confused, some will believe that atoum is not stable yet ("work in progress"/"come back later")

mnapoli commented Nov 5, 2013

@jubianchi I understand I never participated, I was just lurking :). But I didn't see a need to participate, the suggestions before @mageekguy posted were sane: simply use semver. The final decision didn't take into account all the suggestions, and didn't leave any opportunity to react.

with the current workflow, you might end up with version 0.0.837

What's wrong with that ?

Nothing is wrong per se, it's just not optimal. People will either use tags and be happy with daily (or less frequent) tags, or they want to stay always up to date and they can use the master. So there's no use in tagging every commit or so. That's a minor issue though.

To get a clean, better, approved, < whatever you want here > strategy, we need to gather suggestion not only critism.

Unfortunately it seems that suggestions are not very listened to. It seems the only thing that came out of this versioning debate (not just on this thread) is "OK I've made you a 0.0.1, we'll tag everything, is it over yet?".

I'll comment no more, everything has been said already and I don't think everyone wants to debate the thing over and over again. At least now there's a 0.0.1. But we know what to expect now.

PS: 0 as major version implies that it's a beta version, unstable, that may change anytime (per the semver standard). It's the opposite of what you want. People will get confused, some will believe that atoum is not stable yet ("work in progress"/"come back later")

@stephpy

This comment has been minimized.

Show comment
Hide comment
@stephpy

stephpy Nov 5, 2013

Member

I would also answer with another question (not any offense) just to find problems with the current strategy : What's the problem of a 3-level tag, even if we stick the first level to 0 for now ?

There is no problem ;), but no logic too, no added value, we can add 4 levels with the same strategy.

x.y.z has 3 levels because alls levels have a definition.

Here, we have 3 levels with 2 definitions, It's just not useful imo. And i'm agree with @mnapoli, i thought atoum is stable, 1.0.x would be more appropriated to me.

And i'm just sad to see an issue opened at 12h:
3 comments on the same way
14h: A contrary decision ... (i don't say we should listen to theses comments but continues to debate instead of ignoring theses messages ...)

Member

stephpy commented Nov 5, 2013

I would also answer with another question (not any offense) just to find problems with the current strategy : What's the problem of a 3-level tag, even if we stick the first level to 0 for now ?

There is no problem ;), but no logic too, no added value, we can add 4 levels with the same strategy.

x.y.z has 3 levels because alls levels have a definition.

Here, we have 3 levels with 2 definitions, It's just not useful imo. And i'm agree with @mnapoli, i thought atoum is stable, 1.0.x would be more appropriated to me.

And i'm just sad to see an issue opened at 12h:
3 comments on the same way
14h: A contrary decision ... (i don't say we should listen to theses comments but continues to debate instead of ignoring theses messages ...)

@ludofleury

This comment has been minimized.

Show comment
Hide comment
@ludofleury

ludofleury Nov 5, 2013

Contributor

People don't want to make suggestion, what is the point ?

Each time that an idea that don't fit the "master frame" set by atoum few years ago, people here made it clear: "you are not welcome". In fact it's worse, we make fun of them.

To actually use the words from your answer: "when people post a suggestion here, they receive criticism". It's hard to throw back at them.

The truth to be written in the README is: "we're open-source, but not open-minded." and I was barely okay with that. Yet I won't support "how we spit on our community" anymore.

The atoum organization is a joke. The "good" way would have been to actually fork the mageekguy repository and grow outside of his shadow. His job may be awesome, yet github is here only to provide a free repository.

(my opinions, my philosophy about the open-source).

Contributor

ludofleury commented Nov 5, 2013

People don't want to make suggestion, what is the point ?

Each time that an idea that don't fit the "master frame" set by atoum few years ago, people here made it clear: "you are not welcome". In fact it's worse, we make fun of them.

To actually use the words from your answer: "when people post a suggestion here, they receive criticism". It's hard to throw back at them.

The truth to be written in the README is: "we're open-source, but not open-minded." and I was barely okay with that. Yet I won't support "how we spit on our community" anymore.

The atoum organization is a joke. The "good" way would have been to actually fork the mageekguy repository and grow outside of his shadow. His job may be awesome, yet github is here only to provide a free repository.

(my opinions, my philosophy about the open-source).

@jubianchi

This comment has been minimized.

Show comment
Hide comment
@jubianchi

jubianchi Nov 5, 2013

Member

I'm sorry you took things this way. There are mistakes from both sides IMHO.

I'm sorry to not be able to expose my point of view in english here but would be glad to do it with the interested person on IRC or in a bar ;)

Every project refuse some things that don't fit its philosophy, but it seems to me that with atoum, it's not admissible...

I got the same answers from many project maintainer and never leaved or stopped using it. I use a tool so I have to adapt myself a bit.

neither atoum or other projects, be they open-sourced or not, will fit everyone's need, it's sad but true.

P.S : I'm also sorry to post such comments here, Github is not the place to do that but I want to be as clear as I can. I'm sad that things went bad for such details that never matters as today until today.

Member

jubianchi commented Nov 5, 2013

I'm sorry you took things this way. There are mistakes from both sides IMHO.

I'm sorry to not be able to expose my point of view in english here but would be glad to do it with the interested person on IRC or in a bar ;)

Every project refuse some things that don't fit its philosophy, but it seems to me that with atoum, it's not admissible...

I got the same answers from many project maintainer and never leaved or stopped using it. I use a tool so I have to adapt myself a bit.

neither atoum or other projects, be they open-sourced or not, will fit everyone's need, it's sad but true.

P.S : I'm also sorry to post such comments here, Github is not the place to do that but I want to be as clear as I can. I'm sad that things went bad for such details that never matters as today until today.

@mageekguy

This comment has been minimized.

Show comment
Hide comment
@mageekguy

mageekguy Nov 5, 2013

Contributor

There has lot of debate about this point since several day, here, on IRC, on twitter, by mail and so on.
I'm pretty sure that closing this issue tomorrow, in one week or in several month was not a valid option.
Some want semver, some want another format, some want no tag.
I'm ok with that, i have heard everybody and i'm trying to find the best solution for each parts.
The solution is not your solution.
The solution is not my solution.
It's the best compromise i could find with @jubianchi (thanks for its help) to move forward and made end-user more happy to using atoum.
And because it's a compromise, everybody is not happy (it's seems that it's an evidence…), so debate can continue again and again and again.
So closing the issue seems to me the best solution, and now, we can go ahead.
Is it the final step of this question ?
Not sure, because i don't know tomorrow.
Yes, the first 0 seems to be useless currently.
But it's a security.
Yes, 0 means beta in semver, and my first idea was to increment it instead the last one.
But @jubianchi convince me that having a version 321.0.0 is not a good idea and that having the possibility to handle BC break or other event with first numbers is a better idea.
And again, it's not my idea.
Atoum is my baby and i has given him to the community.
However, i think that it is always under my responsibility.
So, if i think that there is more drawbacks than benefits to discuss several hours/days/weeks/months instead of works on its code and improve it, i think that i should do something.
So i'm implements a solution and closing the issue.
I'm sad if this fact has hurt you, it was not my primary idea, but i don't understand you.
If i have close the issue without any solution, ok, i will understand your reaction, but it's not the case.
Moreover, @ludofleury talks open-mindness.
Who is not open-mindness here?
The one which want absolutely does something because he thinks that everybody does the same and wants the same and thinks that there is no viable alternative, or the one which try to find the best solution for everyone and implement it?
It's just an "open" question…

Contributor

mageekguy commented Nov 5, 2013

There has lot of debate about this point since several day, here, on IRC, on twitter, by mail and so on.
I'm pretty sure that closing this issue tomorrow, in one week or in several month was not a valid option.
Some want semver, some want another format, some want no tag.
I'm ok with that, i have heard everybody and i'm trying to find the best solution for each parts.
The solution is not your solution.
The solution is not my solution.
It's the best compromise i could find with @jubianchi (thanks for its help) to move forward and made end-user more happy to using atoum.
And because it's a compromise, everybody is not happy (it's seems that it's an evidence…), so debate can continue again and again and again.
So closing the issue seems to me the best solution, and now, we can go ahead.
Is it the final step of this question ?
Not sure, because i don't know tomorrow.
Yes, the first 0 seems to be useless currently.
But it's a security.
Yes, 0 means beta in semver, and my first idea was to increment it instead the last one.
But @jubianchi convince me that having a version 321.0.0 is not a good idea and that having the possibility to handle BC break or other event with first numbers is a better idea.
And again, it's not my idea.
Atoum is my baby and i has given him to the community.
However, i think that it is always under my responsibility.
So, if i think that there is more drawbacks than benefits to discuss several hours/days/weeks/months instead of works on its code and improve it, i think that i should do something.
So i'm implements a solution and closing the issue.
I'm sad if this fact has hurt you, it was not my primary idea, but i don't understand you.
If i have close the issue without any solution, ok, i will understand your reaction, but it's not the case.
Moreover, @ludofleury talks open-mindness.
Who is not open-mindness here?
The one which want absolutely does something because he thinks that everybody does the same and wants the same and thinks that there is no viable alternative, or the one which try to find the best solution for everyone and implement it?
It's just an "open" question…

@KuiKui

This comment has been minimized.

Show comment
Hide comment
@KuiKui

KuiKui Nov 6, 2013

Contributor

Just to be sure, is there someone else than @mageekguy here against semver tagging ?

Contributor

KuiKui commented Nov 6, 2013

Just to be sure, is there someone else than @mageekguy here against semver tagging ?

@jubianchi

This comment has been minimized.

Show comment
Hide comment
@jubianchi

jubianchi Nov 7, 2013

Member

@KuiKui no he is not the only one against tagging.

Member

jubianchi commented Nov 7, 2013

@KuiKui no he is not the only one against tagging.

@KuiKui

This comment has been minimized.

Show comment
Hide comment
@KuiKui

KuiKui Nov 7, 2013

Contributor

Who ? (just to be pragmatic)

Contributor

KuiKui commented Nov 7, 2013

Who ? (just to be pragmatic)

@jubianchi

This comment has been minimized.

Show comment
Hide comment
@jubianchi
Member

jubianchi commented Nov 7, 2013

Me

@geraldcroes

This comment has been minimized.

Show comment
Hide comment
@geraldcroes

geraldcroes Nov 7, 2013

Member

To be even more pragmatic, I'm pretty sure that even if the whole initial tagging issue is against the atoum project philosophy, its leaders won't mind any kind of ready_to_use contribution that would enable or ease end-users's life with a specific stack.

So if a volonteer raise his voice and provides a proof of concept of his work, I would say he will probably be welcomed in the project. The work may not be included in the main "atoum" repository (as again it seems, as of today, against the philosophy of the project), but maybe in the atoum github project as (first example I could think of) atoum_semver_bridge, itself tagged with compatible revisions.

This is of course pure speculation, but I think it's now time to be positive and try to make things happen... Time will be better spent.

Member

geraldcroes commented Nov 7, 2013

To be even more pragmatic, I'm pretty sure that even if the whole initial tagging issue is against the atoum project philosophy, its leaders won't mind any kind of ready_to_use contribution that would enable or ease end-users's life with a specific stack.

So if a volonteer raise his voice and provides a proof of concept of his work, I would say he will probably be welcomed in the project. The work may not be included in the main "atoum" repository (as again it seems, as of today, against the philosophy of the project), but maybe in the atoum github project as (first example I could think of) atoum_semver_bridge, itself tagged with compatible revisions.

This is of course pure speculation, but I think it's now time to be positive and try to make things happen... Time will be better spent.

@nchaulet

This comment has been minimized.

Show comment
Hide comment
@nchaulet

nchaulet Nov 7, 2013

Nobody talks about it but semver tagging allows composer to cache the repository making installing packages a lot faster and working when github is down, it isn't a good reason to use it ?

nchaulet commented Nov 7, 2013

Nobody talks about it but semver tagging allows composer to cache the repository making installing packages a lot faster and working when github is down, it isn't a good reason to use it ?

@jubianchi

This comment has been minimized.

Show comment
Hide comment
@jubianchi

jubianchi Nov 7, 2013

Member

@geraldcroes as you said, we rarely refuse well formed contribution with a real reflection behind it.

In my mind, tagging could ease the work for some people even if I think that the main issue does not directly come from atoum itself but from tools that do not support rolling-release.

Also, before introducing semver tagging, we have to answer the questions I wrote in the issue description. In my mind, those are the minimal things to answer before doing anything.

@mageekguy introduced a tagging process in the repository. It does not fit every use cases, it does not fully adopt semver but it just works and solves composer issues.

Member

jubianchi commented Nov 7, 2013

@geraldcroes as you said, we rarely refuse well formed contribution with a real reflection behind it.

In my mind, tagging could ease the work for some people even if I think that the main issue does not directly come from atoum itself but from tools that do not support rolling-release.

Also, before introducing semver tagging, we have to answer the questions I wrote in the issue description. In my mind, those are the minimal things to answer before doing anything.

@mageekguy introduced a tagging process in the repository. It does not fit every use cases, it does not fully adopt semver but it just works and solves composer issues.

@geraldcroes

This comment has been minimized.

Show comment
Hide comment
@geraldcroes

geraldcroes Nov 7, 2013

Member

@nchaulet

We all have opinions and habit of work. I love my workflow today, and hate the workflow I formerly beloved.

Composer is a nice tool and I use it in my stack, as I use atoum.

Here, nobody says it's useless to include semver/composer/whatever_specific_thing_you_like compatibility by any mean. @mageekguy (and @jubianchi) said "as of today, it's against the project philosophy". You may also read "until someone make some huge good point to prove me wrong".

I needed tags for atoum, mainly for workflow reasons and to ease my everydays's life. ("Hey guys, let's deploy number 22" is easier than "Hey guys, let's deploy SHA1 22zhakjlm !"). The provided solution gives me (more or less) what I wanted. For atoum developpers and philosophy, it fits as they provide "human compliant aliases" to sha1.

So I understand it does not fit semver for a stupid reason... it should start from 1.0.X. Let's face it, all we have to do is ask with our best smiley : Please, could you reconsider and make the next commit start from 1.0.X ?

It would

  1. stays in the current philosophy
  2. make my tool compliant
  3. avoid questions like "oh ? it's not stable yet ?"

Now, let's take some time and think about the situation.

Should atoum adapt itself to a tool tag convention ? probably not. If, one day, semver starts to ask for a "2.0.X" to state it works with their 2014 revision, atoum "as a project" should not be forced to adapt.

Nervertheless, nothing prevent anyone to make its own contribution to make atoum fully compliant with a given solution or workflow in a separated and dedicated repository.

So.... volonteers ?

Member

geraldcroes commented Nov 7, 2013

@nchaulet

We all have opinions and habit of work. I love my workflow today, and hate the workflow I formerly beloved.

Composer is a nice tool and I use it in my stack, as I use atoum.

Here, nobody says it's useless to include semver/composer/whatever_specific_thing_you_like compatibility by any mean. @mageekguy (and @jubianchi) said "as of today, it's against the project philosophy". You may also read "until someone make some huge good point to prove me wrong".

I needed tags for atoum, mainly for workflow reasons and to ease my everydays's life. ("Hey guys, let's deploy number 22" is easier than "Hey guys, let's deploy SHA1 22zhakjlm !"). The provided solution gives me (more or less) what I wanted. For atoum developpers and philosophy, it fits as they provide "human compliant aliases" to sha1.

So I understand it does not fit semver for a stupid reason... it should start from 1.0.X. Let's face it, all we have to do is ask with our best smiley : Please, could you reconsider and make the next commit start from 1.0.X ?

It would

  1. stays in the current philosophy
  2. make my tool compliant
  3. avoid questions like "oh ? it's not stable yet ?"

Now, let's take some time and think about the situation.

Should atoum adapt itself to a tool tag convention ? probably not. If, one day, semver starts to ask for a "2.0.X" to state it works with their 2014 revision, atoum "as a project" should not be forced to adapt.

Nervertheless, nothing prevent anyone to make its own contribution to make atoum fully compliant with a given solution or workflow in a separated and dedicated repository.

So.... volonteers ?

@geraldcroes

This comment has been minimized.

Show comment
Hide comment
@geraldcroes

geraldcroes Nov 7, 2013

Member

Just a quick note : Yes, I also feel that closing this issue with "0.0.x" was stupid and that there should have been some kind of "we're gonna do this what do you guys think".... but who's perfect ? :-)

Member

geraldcroes commented Nov 7, 2013

Just a quick note : Yes, I also feel that closing this issue with "0.0.x" was stupid and that there should have been some kind of "we're gonna do this what do you guys think".... but who's perfect ? :-)

@JJK801

This comment has been minimized.

Show comment
Hide comment
@JJK801

JJK801 Nov 7, 2013

Contributor

@mageekguy - @jubianchi i really think atoum is a good project, but i discovered it because it was the one used inside the team.

In a real choice process with strategic stake, never i will consider a software with 0.0.x tagging (witch for me means 'alpha' or 'beta0'). If your tagging strategy is not explicit enough (e.g. Semver), It will provide adverse effects to the quality of your project to be felt.

One more point about Open Source this time (trying to be less aggressive than @ludofleury), if you wan't a real open source project, there must be no ownership consideration on it. As a contributor, if my opinion has no weight on critical decisions, i will just say goodbye & good luck.

To summarise:

  • Tagging strategy define a part of the software stature
  • Being open source, it's being open minded
Contributor

JJK801 commented Nov 7, 2013

@mageekguy - @jubianchi i really think atoum is a good project, but i discovered it because it was the one used inside the team.

In a real choice process with strategic stake, never i will consider a software with 0.0.x tagging (witch for me means 'alpha' or 'beta0'). If your tagging strategy is not explicit enough (e.g. Semver), It will provide adverse effects to the quality of your project to be felt.

One more point about Open Source this time (trying to be less aggressive than @ludofleury), if you wan't a real open source project, there must be no ownership consideration on it. As a contributor, if my opinion has no weight on critical decisions, i will just say goodbye & good luck.

To summarise:

  • Tagging strategy define a part of the software stature
  • Being open source, it's being open minded
@ratibus

This comment has been minimized.

Show comment
Hide comment
@ratibus

ratibus Nov 7, 2013

@jubianchi I thought your PR description was great and that it would open quality talks.

I am so sad the PR was closed 2 hours later by @mageekguy without any discussion (and a lousy implementation, just to try to shut up our mouth, to be polite :)).

ratibus commented Nov 7, 2013

@jubianchi I thought your PR description was great and that it would open quality talks.

I am so sad the PR was closed 2 hours later by @mageekguy without any discussion (and a lousy implementation, just to try to shut up our mouth, to be polite :)).

@geraldcroes

This comment has been minimized.

Show comment
Hide comment
@geraldcroes

geraldcroes Nov 7, 2013

Member

@JJK801

I mainly agree with your points about the tagging issue.

About Open Source... note sure.

Open Source is just.... Sources are Open.... It's not "WikiSource following WikiRoadmap".

Successfull open sources projects have goals & leads who's opinions are strongly taken into account.... as they do the job.

I doubt you could ever include in the "SomeFakeMVCProject" something to do "non mvc stuff". Philosophy is philosophy, it's the whole project, it IS the project.

As a contributor, I think that your voice was taken into account : "Here are the tags" (let's put the closing issue stuff aside). The leaders of the project took their time (multiple times) to join the discussion around this (even if they think this is not the project direction they want to spend their time on).

This is issue #300 .... are 300 discussions not enougth to prove that "contributors opinion" is a powerfull feedback ?
How many pull requests were accepted ? Is this not enougth for a contributor to know that his work will be included in the project if he spend his time and efforts ?

How many hours a day can you join the IRC channel to express and discuss your opinion ?

I think atoum is quite OK open-source wise.

@ratibus Closing the issue 2 hours later was (to some people including me) a mistake, let's move on.

Member

geraldcroes commented Nov 7, 2013

@JJK801

I mainly agree with your points about the tagging issue.

About Open Source... note sure.

Open Source is just.... Sources are Open.... It's not "WikiSource following WikiRoadmap".

Successfull open sources projects have goals & leads who's opinions are strongly taken into account.... as they do the job.

I doubt you could ever include in the "SomeFakeMVCProject" something to do "non mvc stuff". Philosophy is philosophy, it's the whole project, it IS the project.

As a contributor, I think that your voice was taken into account : "Here are the tags" (let's put the closing issue stuff aside). The leaders of the project took their time (multiple times) to join the discussion around this (even if they think this is not the project direction they want to spend their time on).

This is issue #300 .... are 300 discussions not enougth to prove that "contributors opinion" is a powerfull feedback ?
How many pull requests were accepted ? Is this not enougth for a contributor to know that his work will be included in the project if he spend his time and efforts ?

How many hours a day can you join the IRC channel to express and discuss your opinion ?

I think atoum is quite OK open-source wise.

@ratibus Closing the issue 2 hours later was (to some people including me) a mistake, let's move on.

@JJK801

This comment has been minimized.

Show comment
Hide comment
@JJK801

JJK801 Nov 7, 2013

Contributor

@geraldcroes I got no doubt about the atoum "staff" goodwill and investment. PRs i did were considered and merged very fast every time, it's a really good point!

As you said, for all philosophical considerations maintainers are powerful, but for now this decision will impact every project using atoum on the composer way.

How do i explain to my boss that my unit testing framework (which is critical point in continuous integration) is tagged as a beta?...

IMO this way will deserve the project.

Contributor

JJK801 commented Nov 7, 2013

@geraldcroes I got no doubt about the atoum "staff" goodwill and investment. PRs i did were considered and merged very fast every time, it's a really good point!

As you said, for all philosophical considerations maintainers are powerful, but for now this decision will impact every project using atoum on the composer way.

How do i explain to my boss that my unit testing framework (which is critical point in continuous integration) is tagged as a beta?...

IMO this way will deserve the project.

@KuiKui

This comment has been minimized.

Show comment
Hide comment
@KuiKui

KuiKui Nov 7, 2013

Contributor

@jubianchi It's seems that you want semver tagging too : as you said in the description of its issue. Am I wrong ?

Contributor

KuiKui commented Nov 7, 2013

@jubianchi It's seems that you want semver tagging too : as you said in the description of its issue. Am I wrong ?

@geraldcroes

This comment has been minimized.

Show comment
Hide comment
@geraldcroes

geraldcroes Nov 7, 2013

Member

@JJK801 I do agree, the next tag should start from 1.0.X.... and maintainers should come over, reopen this issue asking if the new solution would make everyone happy (or asking for someone to be in charge of summing up the needs of the community with a matching solution)

Member

geraldcroes commented Nov 7, 2013

@JJK801 I do agree, the next tag should start from 1.0.X.... and maintainers should come over, reopen this issue asking if the new solution would make everyone happy (or asking for someone to be in charge of summing up the needs of the community with a matching solution)

@willdurand

This comment has been minimized.

Show comment
Hide comment
@willdurand

willdurand Nov 7, 2013

To everyone, stick to a specific version and stop complaining. Atoum is now tagged, it is better than nothing, they don't want to adopt Semver for some reasons, good or bad, it is a decision that we all have to accept, and deal with it.

0.0.x is not unstable per se, Semver defines it as unstable, not Atoum, nor its maintainers. It is stable, period.

IMO, the only thing @mageekguy should do would be to rename the master branch into release, so that it would be self-documented (and explicit) that the main branch is really stable, and not "in development" like most of the projects we tend to use.

willdurand commented Nov 7, 2013

To everyone, stick to a specific version and stop complaining. Atoum is now tagged, it is better than nothing, they don't want to adopt Semver for some reasons, good or bad, it is a decision that we all have to accept, and deal with it.

0.0.x is not unstable per se, Semver defines it as unstable, not Atoum, nor its maintainers. It is stable, period.

IMO, the only thing @mageekguy should do would be to rename the master branch into release, so that it would be self-documented (and explicit) that the main branch is really stable, and not "in development" like most of the projects we tend to use.

@geraldcroes

This comment has been minimized.

Show comment
Hide comment
@geraldcroes

geraldcroes Nov 7, 2013

Member

@willdurand your solution is also a good solution :-)

Member

geraldcroes commented Nov 7, 2013

@willdurand your solution is also a good solution :-)

@KuiKui

This comment has been minimized.

Show comment
Hide comment
@KuiKui

KuiKui Nov 7, 2013

Contributor

@geraldcroes seems to want semver tagging too (see its previous comment). @stephpy too. @ludofleury too.
My question wasn't an aggression. I just really want to know if there's someone else than @mageekguy here against semver tagging ? 'cause it seems not...

Contributor

KuiKui commented Nov 7, 2013

@geraldcroes seems to want semver tagging too (see its previous comment). @stephpy too. @ludofleury too.
My question wasn't an aggression. I just really want to know if there's someone else than @mageekguy here against semver tagging ? 'cause it seems not...

@geraldcroes

This comment has been minimized.

Show comment
Hide comment
@geraldcroes

geraldcroes Nov 7, 2013

Member

I don't care for semver tagging.... but the immediate solution of renaming 0.0.x to 1.0.x is so simple while making everyone happy that I think it is sad not doing so.

Member

geraldcroes commented Nov 7, 2013

I don't care for semver tagging.... but the immediate solution of renaming 0.0.x to 1.0.x is so simple while making everyone happy that I think it is sad not doing so.

@jeremyFreeAgent

This comment has been minimized.

Show comment
Hide comment
@jeremyFreeAgent
Contributor

jeremyFreeAgent commented Nov 7, 2013

@willdurand

This comment has been minimized.

Show comment
Hide comment
@willdurand

willdurand Nov 7, 2013

@KuiKui semantic versioning does not fit the rolling release principle, that is why it can't be adopted.

@geraldcroes it would not make sense.

willdurand commented Nov 7, 2013

@KuiKui semantic versioning does not fit the rolling release principle, that is why it can't be adopted.

@geraldcroes it would not make sense.

@geraldcroes

This comment has been minimized.

Show comment
Hide comment
@geraldcroes

geraldcroes Nov 7, 2013

Member

@willdurand ok, I don't know semver. I'll have a look at it to know what everyone here is talking about.
Edit : ok, I knew semver without knowing i knew... now I know I know.

Member

geraldcroes commented Nov 7, 2013

@willdurand ok, I don't know semver. I'll have a look at it to know what everyone here is talking about.
Edit : ok, I knew semver without knowing i knew... now I know I know.

@jeremyFreeAgent

This comment has been minimized.

Show comment
Hide comment
@jeremyFreeAgent

jeremyFreeAgent Nov 7, 2013

Contributor

Even if tag names were beer or pizza it would be fine to me. We just need tag to keep our deps "stable".

Contributor

jeremyFreeAgent commented Nov 7, 2013

Even if tag names were beer or pizza it would be fine to me. We just need tag to keep our deps "stable".

@geraldcroes

This comment has been minimized.

Show comment
Hide comment
@geraldcroes

geraldcroes Nov 7, 2013

Member

@jeremyFreeAgent I don't know if I would be willing to depend more on beer than pizza.... that's a tough question

Member

geraldcroes commented Nov 7, 2013

@jeremyFreeAgent I don't know if I would be willing to depend more on beer than pizza.... that's a tough question

@jubianchi

This comment has been minimized.

Show comment
Hide comment
@jubianchi

jubianchi Nov 7, 2013

Member

@KuiKui I don't want semver. I can deal with rolling without any problem. What I wanted to say in my comment and in the description is : If we adopt tagging/semver, here is what I think we should do. ATM, I'm against semver tagging because it implies much more than a notation and we don't have the means to do it perfectly. So, IMHO, it's better to adopt something we can maintain easily (and also something which resolves the stability/locking issues) for now and move to something better as soon as we can afford it.

Member

jubianchi commented Nov 7, 2013

@KuiKui I don't want semver. I can deal with rolling without any problem. What I wanted to say in my comment and in the description is : If we adopt tagging/semver, here is what I think we should do. ATM, I'm against semver tagging because it implies much more than a notation and we don't have the means to do it perfectly. So, IMHO, it's better to adopt something we can maintain easily (and also something which resolves the stability/locking issues) for now and move to something better as soon as we can afford it.

@stephpy

This comment has been minimized.

Show comment
Hide comment
@stephpy

stephpy Nov 7, 2013

Member

Happy to have a tag ... sure. I'm not agree with 0.0.x versioning (i would prefer 1.0.x) but it's not really important ... Everyone cannot be satisfied.

Member

stephpy commented Nov 7, 2013

Happy to have a tag ... sure. I'm not agree with 0.0.x versioning (i would prefer 1.0.x) but it's not really important ... Everyone cannot be satisfied.

@jubianchi

This comment has been minimized.

Show comment
Hide comment
@jubianchi

jubianchi Nov 7, 2013

Member

Just to be clear, when I say "move to something better" I mean gathering some feedback on the current solution and improving it when we find real problem.

By "real problem" I mean : locking issue, stability issues, release cycle, ... not some kind of "you do not implement the following standard so it's not ok"

I'm not saying that our tagging strategy is better than semver or that semver is better than our method. Each one has its own goal.

Member

jubianchi commented Nov 7, 2013

Just to be clear, when I say "move to something better" I mean gathering some feedback on the current solution and improving it when we find real problem.

By "real problem" I mean : locking issue, stability issues, release cycle, ... not some kind of "you do not implement the following standard so it's not ok"

I'm not saying that our tagging strategy is better than semver or that semver is better than our method. Each one has its own goal.

@KuiKui

This comment has been minimized.

Show comment
Hide comment
@KuiKui

KuiKui Nov 7, 2013

Contributor

@jubianchi I fully agree with your POV. It's right that semver tagging implies much more than a notation. But it appears that is exactly what we miss for heavy business projects 💵 : informations about criticity of the new developpements (cause, in practice, no program is always stable and has no BC breaks).

Here, dozens of developers use atoum on dozens of projects. The financial impact of any mistake on atoum can, potentialy, cost tens of thousands of euros because of continuous integration (time is money). That's why we need stable tags.

It seems I misandertood @stephpy's and @geraldcroes's comments. Perhaps because english is not my native language (far from it).

And, as it is more interesting to solve problems than to create one, I propose to find a solution around a 🍻, at Lyon.

And even if @mageekguy and I have had communication issues for a long time, I will be happy to talk in french with the atoum team to find a solution. atoum is usefull and I want to continue using it.

Are you interested ? No knifes, no dogs. Just ideas. 😄

Contributor

KuiKui commented Nov 7, 2013

@jubianchi I fully agree with your POV. It's right that semver tagging implies much more than a notation. But it appears that is exactly what we miss for heavy business projects 💵 : informations about criticity of the new developpements (cause, in practice, no program is always stable and has no BC breaks).

Here, dozens of developers use atoum on dozens of projects. The financial impact of any mistake on atoum can, potentialy, cost tens of thousands of euros because of continuous integration (time is money). That's why we need stable tags.

It seems I misandertood @stephpy's and @geraldcroes's comments. Perhaps because english is not my native language (far from it).

And, as it is more interesting to solve problems than to create one, I propose to find a solution around a 🍻, at Lyon.

And even if @mageekguy and I have had communication issues for a long time, I will be happy to talk in french with the atoum team to find a solution. atoum is usefull and I want to continue using it.

Are you interested ? No knifes, no dogs. Just ideas. 😄

@jubianchi

This comment has been minimized.

Show comment
Hide comment
@jubianchi

jubianchi Nov 7, 2013

Member

@KuiKui I'm still up for constructive discussions ;)

Member

jubianchi commented Nov 7, 2013

@KuiKui I'm still up for constructive discussions ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment