[Sugar-devel] Deprecation policy - was: About show-launcher option
Manuel Quiñones
manuq at laptop.org
Mon Jan 13 18:44:20 EST 2014
2014/1/13 Daniel Narvaez <dwnarvaez at gmail.com>:
> On 13 January 2014 18:21, Manuel Quiñones <manuq at laptop.org> wrote:
>>
>> 2014/1/13 Daniel Narvaez <dwnarvaez at gmail.com>:
>> > IMO it should be deprecated and then removed at some point. In general,
>> > I
>> > think our approach to API stability is way too ad hoc. We need some
>> > rules,
>> > even if very simple, to define what is public, how/when it is
>> > deprecated,
>> > and how/when it is removed.
>>
>> What about?
>>
>> - when an API change arises, we discuss a time range for activities to
>> adapt
>> the time range is measured in number of releases
>>
>> - we do the change in the code, leaving the old code
>>
>> - the deprecation is marked in the old code, adding a comment, logging a
>> warning
>>
>> - the deprecation is announced in each release notes,
>> asking activity developers to update their code
>> mentioning for how many number of releases it will keep working
>
>
> I think we should have a section in sugar-docs where we note the
> deprecations (and the time range). So we add them as we go.
I agree. sugar-docs is the right place.
>>
>> - activity developers upload new versions to activities.sugarlabs.org,
>> marking the corresponding Sugar version
>>
>> - after the aggreed time, the old code is removed
>>
>> This is more or less what we've been doing. I think when the toolbars
>> API changed we gave about 1 year for adaptation.
>
>
> This sounds great to me.
>
> We just need a way to know what is public API and what is not. Maybe, for
> new code, everything is public unless it has the usual underscore or there
> are inline docs mentioning it's not public. For old code well... I guess we
> just decide case by case.
Yes, I think that's valid for old code too. If you can import a
class, function or constant variable from the toolkit, its public.
> Also I think API is frozen on the day of the stable release, it's fine to
> make changes until then, otherwise it becomes really difficult to develop
> new API.
Agreed.
--
.. manuq ..
More information about the Sugar-devel
mailing list