On Mon, Aug 15, 2016 at 5:43 PM, leif <not.rea...@online.de> wrote: > Johan S. H. Rosenkilde wrote: >>> leif wrote: >>> Well, depends on /what/ you write there... >>> >>> At least mentioning the different notions of skew polynomial evaluation >>> (and that currently only one, and which, is implemented) shouldn't hurt. >>> >>> And you could clearly state what aspects of the interface are probably >>> subject to change, and also which aren't. >>> >>> (You both still have to agree on the latter though, but my impression is >>> this isn't really the point where your opinions completely diverge.) >> >> I agree with Travis that such a warning is not fundamentally different >> from using @experimental. Also, casual users will probably miss it; if >> behaviour then later changes without them seeing a deprecation, that's >> annoying. Deprecation warnings are for both library developers and for >> users. >> >> My point is that I don't know what might change in the near-future. >> Though I could assign vague probabilities, I'd rather just say "feel >> free to use this but be prepared for some changes". "some changes" would >> cover name changes, changes in order of arguments, and in less common >> cases, behavioural changes (e.g. possibly to __call__). But overall, a >> user can count on the module to keep on existing and broadly providing >> at least the same set of functionality. >> >> I have a hard time seeing when @experimental could *ever* be used, if it >> is not applicable in this scenario. And back when @experimental was >> suggested, it was broadly received as a good idea >> (https://groups.google.com/forum/#!topic/sage-devel/LXWs6KOw0Lk). >> >>> Travis Scrimshaw wrote: >>> As Johan stated, my viewpoint is because you are not promising a stable >>> API with the @experimental, anyone who wants to develop code based upon >>> @experimental code either are requiring you, who put in the @experimental.. >>> to also fix their code should the API change or have their code be silently >>> broken (say, for lack of a specific doctest). So by marking everything as >>> experimental, you're effectively saying you should not build upon this. >> >> If a Sage developer builds module B on an @experimental module A, it >> puts no further burden on a developer who wants to later modify A: s/he >> will in either case need to fix B. @experimental modules are often >> introduced, as is the case in #13215, by developers who wish to use it >> themselves. In this case, A and B are developed by the same people. >> After a short while, say a year, the @experimental warning can be >> removed. > > What Sage IMHO really lacks is a true development (vs. stable) branch, > along with different releases (for "developers" as opposed to "ordinary" > users), which is pretty untypical. > > Every "stable" release is just identical to some beta/rc in a totally > linear way, and even critical bugfixes are almost never backported to > the previous/current stable release. And any "stable" release will in > turn simply contain *everything* that has been merged to that point > (since we in fact only have a single branch). > > Usually you make releases from trunk, not picking everything. But it's > also uncommon that only a single person (the "release manager") has > commit rights even on the develop branch. > > The above situation is of course also related (or due) to "Every Sage > user is [also] a Sage developer", as well as "Release often, release early". > > But I think large parts of Sage are meanwhile that mature, that we may > rethink the development / release strategy. > > There are most probably many "ordinary" users that are less interested > in brand-new research code or "exotic" features, but rather expect > properly maintained stable releases, i.e., including *quick* *bugfix* > releases, and not having to wait weeks or months for the next stable > release (of course bringing lots of other stuff, including new bugs) > just to get a single important (often build-related) issue fixed. > > > To some extent also trac tickets reflect this, as 99% are "major > defects", no matter whether they introduce new features or whatever. > It's often hard to figure out whether something's really broken (and > probably worth a bugfix release), or whether "defect" simply refers to > missing/incomplete features or the bare fact that there's a new release > of this or that available (orthogonal to what an update brings). At the > same time, some of the so-called "ordinary" users really think trac was > [just] our bug tracker, and every ticket would correspond to a bug in > Sage... > > Also distantly related is abusing "Milestones" for versions, instead of > using trac's Version field for that, and using milestones for what they > are meant for (namely, specific goals). > > > Getting /slightly/ off-topic, ;-) > > my 2 cents,
+1 to all of the above. I've been meaning to bring this all up again, but right now I'm just trying to remain focused on one or two things lest I feel overwhelmed. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.