Closed Elchi3 closed 7 years ago
I really like the new definition, and support these thoughts.
One nitpick - in the definition, "purpose" -> "purposes"
I'd like to take this slightly further and remove "obsolete" from MDN altogether. It's kind of a standards thing that you don't see much any more, and it's confusing. So why don't we just get rid of it?
OR. We could replace it with "removed". That's much more obvious and less confusing.
The states we are concerned with would then be:
Your above answer definitions seem to nicely cover these cases, and appropriate combinations of them. I'm assuming that removed features are just deleted from the BCD altogether?
I agree that the differentiation between obsolete and deprecated is redundant since there is version_removed
. Furthermore, this abstraction is inconsistent, as status
is per per feature (not per browser). So if a deprecated feature has only be removed in some browsers, it's ambiguous whether it should be considered obsolete or deprecated. So it seems to make more sense to merge these two statuses, and have version_removed
(which is per browser) indicate the feature's browser support.
This all makes sense to me.
In general, we should avoid including things like "some browsers might not support this" in any definition of terms like experimental
and deprecated
, because the details compat data should describe the current state of support.
Where terms like deprecated
are useful is where they give some indication of the future: web developers should care about the future as well as the present, and the detailed compat data can't tell them this. So knowing that future runtimes are (more) likely to drop support for a feature is good information.
I like your definition of "deprecated", and would support using it as the MDN definition as well as the BCD one, and would also support removing "obsolete", as Chris suggested.
Where terms like
deprecated
are useful is where they give some indication of the future
Doesn't that apply as well to experimental
, as semantics and availability of experimental features are matter to change in the future? For example look at flexbox, where the syntax changed 2 times while it was experimental technology, before we ended up with the final standard. In other instances experimental features got completely removed from the standard and implementations later.
Yes, it absolutely does apply to experimental
as well.
I concur that the term "deprecated" should be used to essentially mean (in simple terms) "no longer considered accepted practice" or something like that, and that "obsolete" isn't needed thanks to the version added and removed information provided by BCD.
I think the two terms stem from a time when we focused primarily on Firefox, so "deprecated" meant "planned for removal from Firefox" and "obsolete" meant "removed from Firefox."
I don't think it affects what you're doing, but you all should know that Chrome uses deprecation as a preamble to removal. https://developers.google.com/web/updates/2017/06/chrome-60-deprecations#deprecation_policy
Joe Medley | Technical Writer, Chrome DevRel | jmedley@google.com | 816-678-7195 If an API's not documented it doesn't exist.
On Thu, Jun 22, 2017 at 8:43 AM, Eric Shepherd notifications@github.com wrote:
I concur that the term "deprecated" should be used to essentially mean (in simple terms) "no longer considered accepted practice" or something like that, and that "obsolete" isn't needed thanks to the version added and removed information provided by BCD.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mdn/browser-compat-data/issues/265#issuecomment-310419672, or mute the thread https://github.com/notifications/unsubscribe-auth/AH0vi1qJeDEVkOUZamG19dkdM211JP2Wks5sGoufgaJpZM4OAt82 .
Thanks all! It's really valuable to get these terms and policy sorted out after all.
For BCD, we've made the suggested change in #268.
For MDN, I'll open a thread in our discourse forum to make more people aware of this and we'll change MDN's usage policy of "obsolete" and "deprecated" depending on the outcome of that thread. Several here have suggested to use the definition we agreed here on MDN as well, so lets see!
Thanks again!
@Elchi3 -- Did that thread get started? If so, adding a link here might be helpful.
I ask because this is something I may want to address on pages I touch with the SEO project work, since I need to move deprecated stuff aside in certain places and that kind of thing. Might be helpful to have this decision made and finalized. I posted about this on Discourse here: https://discourse.mozilla.org/t/deprecated-obsolete/19098/5 (while trying to get a feel for how to proceed on these article updates I'm doing for SEO).
@a2sheppy Looks like I forgot about this. We can use your thread to make a call. I think BCD's terms make sense for MDN overall.
I agree. Let’s go with “deprecated” and deprecate “obsolete.” :)
Eric Shepherd Senior Technical Writer, MDN MDN: https://developer.mozilla.org/ Blog: https://www.bitstampede.com/
On September 14, 2017 at 5:55:27 AM, Florian Scholz ( notifications@github.com) wrote:
@a2sheppy https://github.com/a2sheppy Looks like I forgot about this. We can use your thread to make a call. I think BCD's terms make sense for MDN overall.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mdn/browser-compat-data/issues/265#issuecomment-329433720, or mute the thread https://github.com/notifications/unsubscribe-auth/ABkL31onc8tO_6uIHKZ0XNxLp-sdVEObks5siPgLgaJpZM4OAt82 .
We have a few definitions for the terms obsolete and deprecated.
MDN definition for obsolete
MDN definition for deprecated
Current BCD definition for obsolete
Currently, BCD does not have the term deprecated in the status object.
Request for comments: Should we rename obsolete to deprecated in BCD?
In BCD,
version_added
andversion_removed
indicate support ranges and whether support has ended.I think it isn't necessary to also have "no longer implemented in the browser" as a meaning for obsolete. The current BCD definition for obsolete also doesn't mention this, it is only in the historical MDN meaning, but people get confused by these two definitions.
Further, on MDN, the deprecated meaning includes "is still implemented and may still work". I think in BCD we shouldn't have this as an implicit meaning of deprecated as we have
version_added
andversion_removed
for when something is supported or not.Probably deprecated is the more common term for indicating the recommendation status ("do not use this anymore", "it's no longer recommended", "the spec discourages this", etc). So, I think we should use deprecated instead of obsolete. A definition for deprecated in BCD could be:
On the Web platform, features are rarely ever removed, because the Web needs to be compatible. For WebExtensions, or other APIs, where deprecated features might actually be removed, I think that deprecated is still a good term, too, as we're not mixing implementation status and recommendation status in our definition.
Motivation
I thought it would be nice to answer why we are thinking about this anyway why it isn't entirely bikeshedding (but somewhat bikeshedding). So here is my take:
Fundamentally, I think BCD should have well defined answers to the two questions "Can I use this?" and "Should I use this?".
version_added
andversion_removed
and caveats like flags, alternative names etc. give you answers.experimental
boolean should be false for youstandard_track
boolean should be true for youdeprecated
boolean should be false for you.