2012/9/18 Michał Piotrowski <mkkp...@gmail.com>:
> Hi,
>
> 2012/9/17 Daniel Kucharski <inspi...@gmail.com>:
>> Hey Fabien,
>>
>> The release approach seems indeed good way to move forward.   However if you
>> would want to have symfony2 being used in a more enterprise enviroment I'm
>> afraid that 3 years of LTS isn't enough.  Especially because they are not
>> always in the driving seat to keep up with releases.   I know that for most
>> web projects 3 years a long time, but it isn't in the enterprise world.
>> Especially if already takes sometimes one year to deliver a project.
>
> It's true. Enterprise is a specific world.
>
> Do you think that there is a demand for a distribution with longer time 
> support?

I mean paid distribution with paid support.

>
>>
>> On Mon, Sep 17, 2012 at 8:41 AM, Javier Eguiluz <javier.egui...@gmail.com>
>> wrote:
>>>
>>> Fabien, thank you for sharing the proposal of the new realease process and
>>> for making it debatable.
>>>
>>> In my opinion, the proposed changes are great and they will improve the
>>> quality of Symfony and its ecosystem.
>>>
>>> The only drawback I see is the new set of pull request rules. I think that
>>> sticking to those rules would be awesome ... but a bit unrealistic.
>>> Documenting every change (even if you don't know if it's going to be
>>> accepted), updating changelog and UPGRADE, adding tests for all supported
>>> PHP versions, etc. for every single code change is so cumbersome that most
>>> people don't do it even for their own projects.
>>>
>>> --
>>> Javier Eguiluz
>>> www.symfony.es
>>>
>>> On Mon, Sep 17, 2012 at 7:01 AM, Fabien Potencier
>>> <fabien.potenc...@symfony-project.com> wrote:
>>>>
>>>> My keynote last week at Symfony Live London was about adopting a formal
>>>> release process. In fact, I've talked about adopting a shorter release 
>>>> cycle
>>>> for Symfony for quite some time now, and I think that this is the right 
>>>> time
>>>> to discuss it.
>>>>
>>>> As we have all noticed, Symfony enjoys a large community of "core"
>>>> developers: a core developer being someone who contribute to Symfony on a
>>>> regular basis. The flow of pull requests has been outstanding and steady 
>>>> for
>>>> the past two years, and with such an activity, trying to release often
>>>> without a clear roadmap is quite difficult. Adopting a more formal release
>>>> cycle will also give more visibility to the contributors and allow for
>>>> everyone to understand when a new feature might be available in Symfony.
>>>>
>>>> So, here is my initial proposal, which is the one I've talked about
>>>> during Symfony Live and of course, it is up for discussion. I would like to
>>>> apply the new release process as soon as possible and if possible for
>>>> Symfony 2.2. And whenever we all agree on the final version of this
>>>> proposal, it will be included in the official Symfony documentation.
>>>>
>>>> This release process only applies to the code hosted on the
>>>> symfony/symfony repository, but of course, I hope that third-party code
>>>> related to Symfony (like the Symfony bundles) will also adopt it (at least,
>>>> just for the timeline).
>>>>
>>>> Let's list the goals for the new process:
>>>>
>>>>  * Shorten the release cycle;
>>>>
>>>>  * Keep backward compatibility as much as possible;
>>>>
>>>>  * Enhance the overall quality of the framework (not just the code, but
>>>> documentation, bundles, ...);
>>>>
>>>>  * Give more visibility to our "customers": developers using the
>>>> framework to get their job done and Open-Soure projects using/embedding
>>>> Symfony;
>>>>
>>>>  * Improve the experience of Symfony core contributors by controlling the
>>>> flow of incoming pull requests (why pull requests are not always merged
>>>> right away? when will a new feature be merged? when breaking BC is
>>>> acceptable? ...);
>>>>
>>>>  * Coordinate our timeline with projects that we are using (Doctrine,
>>>> Propel, Monolog, Assetic, Twig, ...) but also with projects that are
>>>> using/embedding Symfony;
>>>>
>>>>  * Give time to the Symfony ecosystem to catch up with the new versions
>>>> (bundleauthors, documentation writers, translators, ...);
>>>>  * Allow developers to benefit from the new features faster.
>>>>
>>>> That's a lot to take care of!
>>>>
>>>> So, without further ado, here is my plan.
>>>>
>>>> Timeline
>>>> --------
>>>>
>>>> Historically, we've been able to release a new major version every year
>>>> since 2005. Nothing was even written about that, but that's what we did.
>>>>
>>>> From now on, I propose to adopt a *time-based model* for Symfony and I
>>>> think that having a new major release every six months is a good 
>>>> compromise:
>>>> it gives plenty of time to work on new features but it also allows for
>>>> non-ready features to be postponed to the next version (without having to
>>>> wait too much for the next cycle).
>>>>
>>>> Six months should be fast enough for developers who want to work on the
>>>> latest and the greatest; but at the same time, companies might want more
>>>> time to learn and upgrade. The way to make everyone happy is to ensure an
>>>> easy upgrade path from one version to the next one. Take Twig as an 
>>>> example:
>>>> I've been able to release a new major version every month and a half since
>>>> 1.0; that's very fast and it has been possible because we've kept backward
>>>> compatibility between all major releases (and of course the scope of Twig 
>>>> is
>>>> also smaller).
>>>>
>>>> Six month releases mean that two releases fit in a year and so, everybody
>>>> knows when releases will be made without having to check on the website: 
>>>> for
>>>> Symfony it will be at the end of May and at the end of November of each
>>>> year. That brings predictability and visibility.
>>>>
>>>> The key is keeping backward compatibility. We must be much more careful
>>>> when breaking backward compatibility; and the possibility to break backward
>>>> compatibility depends on the component we are talking about. The following
>>>> components must never break backward compatibility because they are the
>>>> low-level architecture of the framework and also because so many people 
>>>> rely
>>>> on them:
>>>>
>>>>  * ClassLoader
>>>>  * Console
>>>>  * DependencyInjection
>>>>  * EventDispatcher
>>>>  * HttpFoundation
>>>>  * HttpKernel
>>>>  * Routing
>>>>
>>>> Backward compatibility should be easy to keep for the following
>>>> components:
>>>>
>>>>  * BrowserKit
>>>>  * CssSelector
>>>>  * DomCrawler
>>>>  * Filesystem
>>>>  * Finder
>>>>  * Locale
>>>>  * OptionsResolver
>>>>  * Process
>>>>  * Templating
>>>>  * Yaml
>>>>
>>>> And these components should probably become more stable soon, but that's
>>>> not that easy (yet):
>>>>
>>>>  * Config
>>>>  * Form
>>>>  * Security
>>>>  * Serializer
>>>>  * Translation
>>>>  * Validator
>>>>
>>>> Six months can be seen as a rather short period to make a new release,
>>>> especially if we look at what we did in the past. I think we can make it
>>>> work because we have now more people able to help, but also because the six
>>>> month period itself should be cut in shorter periods:
>>>>
>>>>  * Development: 4 months to add new features and to enhance existing
>>>> ones;
>>>>
>>>>  * Stabilisation: 2 months to fix bugs, prepare the release, and wait for
>>>> the whole ecosystem to catch up.
>>>>
>>>> During the development phase, we can revert any new feature if we think
>>>> that we won't be able to finish it in time or if we think that it won't be
>>>> stable enough to be included.
>>>>
>>>> During the stabilisation phase, some developers might still work on new
>>>> features for the next version, but it would be better if most developers 
>>>> can
>>>> concentrate on finishing the current version.
>>>>
>>>> By the way, when I have a look at the pull requests today, I think that
>>>> we already have enough features for Symfony 2.2.
>>>>
>>>> Long Term Support release
>>>> -------------------------
>>>>
>>>> We've not yet published our LTS release for Symfony2. As I mentioned it
>>>> in the past, the first LTS should be Symfony 2.3.
>>>>
>>>> Each LTS release will be supported for a 3 year period but it will also
>>>> be supported for at least a year after the next LTS is released. So, it
>>>> means that we are going to release a new LTS version every two years.
>>>>
>>>> This dual release cycle should make everyone happy. If you are a fast
>>>> mover, you want to work with the latest and the greatest, stick with the
>>>> standard support releases: you have a new version every six months, and you
>>>> have two months to upgrade to the next one. If you are a big company, and
>>>> you want more stability, stick with the long term support releases: you get
>>>> a new version every two years and you have a year to upgrade.
>>>>
>>>> Schedule
>>>> --------
>>>>
>>>> To make things more concrete, here is the schedule for the next few
>>>> versions:
>>>>
>>>>  * Symfony 2.2 will be released at the end of February 2013;
>>>>
>>>>  * Symfony 2.3 (the first LTS) will be released at the end of Mai 2013
>>>> (only 3 months after 2.2 as it will be a "special" release in the sense 
>>>> that
>>>> we will mainly remove the 2.0 BC layer and also because I think that May 
>>>> and
>>>> November are the best months for releases);
>>>>
>>>>  * Symfony 2.4 will be released at the end of November 2013;
>>>>
>>>>  * Symfony 2.5 will be released at the end of Mai 2014;
>>>>
>>>>  * ...
>>>>
>>>> So, why not releasing Symfony 2.2 earlier as we already have so many
>>>> features waiting in the pull request queue? Because of the next section:
>>>> this is our last chance to break backward compatibility.
>>>>
>>>> Symfony 3.0
>>>> -----------
>>>>
>>>> After the release of Symfony 2.3, backward compatibility will be kept at
>>>> all cost. If it is not possible, the feature/enhancement will be scheduled
>>>> for Symfony 3.0. And the work on 3.0 will start whenever we think that we
>>>> have enough great features under our belt to make it worth it.
>>>>
>>>> Maintenance
>>>> -----------
>>>>
>>>> After Symfony 2.3, non LTS releases will be maintained for 8 months to
>>>> give people plenty of time to upgrade (keep in mind that even if no BC
>>>> breaks will have occurred, you might need to upgrade your applications to
>>>> benefit from the new features and the new best practices).
>>>>
>>>> Contributions
>>>> -------------
>>>>
>>>> To make the new process works well (no BC and a fixed schedule), we need
>>>> to formalise the contribution process a bit more. Every new Symfony feature
>>>> or enhancement must be worked on via Git pull requests. A few months ago, 
>>>> we
>>>> formalised the pull request process a bit by adding a required
>>>> [header](http://symfony.com/doc/current/contributing/code/patches.html#make-a-pull-request)/check
>>>> list. But I've done a poor job in enforcing the rule. So, I'm going to be
>>>> uncompromising about it now and at the same time I'd like to introduce even
>>>> more checks in the list.
>>>>
>>>> A pull request will only be merged if the following rules are met:
>>>>
>>>>  * The code is correct and it uses the Symfony way of doing things
>>>> (naming conventions, coding standards, ...);
>>>>
>>>>  * The new code is tested (or the bug to fix is covered by tests) and all
>>>> the tests pass on all supported PHP versions;
>>>>
>>>>  * The documentation has been updated (with a pending pull request on
>>>> symfony/symfony-docs);
>>>>
>>>>  * The changelog and upgrade files have been updated;
>>>>
>>>>  * No backward compatibility break has been introduced;
>>>>
>>>>  * If it is a fix, it has been applied to the oldest and still supported
>>>> Symfony version;
>>>>
>>>>  * For major features, a RFC has been written, discussed, and approved.
>>>>
>>>> As I said at the beginning, this is a draft, and you are all welcome to
>>>> chime in and propose changes.
>>>>
>>>>
>>>> --
>>>> Fabien Potencier
>>>> Sensio CEO - Symfony lead developer
>>>> sensiolabs.com | symfony.com | fabien.potencier.org
>>>> Tél: +33 1 40 99 80 80
>>>>
>>>> --
>>>> If you want to report a vulnerability issue on symfony, please send it to
>>>> security at symfony-project.com
>>>>
>>>> You received this message because you are subscribed to the Google
>>>> Groups "symfony developers" group.
>>>> To post to this group, send email to symfony-devs@googlegroups.com
>>>> To unsubscribe from this group, send email to
>>>> symfony-devs+unsubscr...@googlegroups.com
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/symfony-devs?hl=en
>>>
>>>
>>> --
>>> If you want to report a vulnerability issue on symfony, please send it to
>>> security at symfony-project.com
>>>
>>> You received this message because you are subscribed to the Google
>>> Groups "symfony developers" group.
>>> To post to this group, send email to symfony-devs@googlegroups.com
>>> To unsubscribe from this group, send email to
>>> symfony-devs+unsubscr...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/symfony-devs?hl=en
>>
>>
>> --
>> If you want to report a vulnerability issue on symfony, please send it to
>> security at symfony-project.com
>>
>> You received this message because you are subscribed to the Google
>> Groups "symfony developers" group.
>> To post to this group, send email to symfony-devs@googlegroups.com
>> To unsubscribe from this group, send email to
>> symfony-devs+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/symfony-devs?hl=en
>
>
>
> --
> Best regards,
> Michal
>
> http://eventhorizon.pl/
> https://getactive.pl/



-- 
Best regards,
Michal

http://eventhorizon.pl/
https://getactive.pl/

-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google
Groups "symfony developers" group.
To post to this group, send email to symfony-devs@googlegroups.com
To unsubscribe from this group, send email to
symfony-devs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en

Reply via email to