[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ANN] org-ql 0.4 released
Re: [ANN] org-ql 0.4 released
Fri, 24 Jan 2020 18:59:15 -0600
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
Tim Cross <address@hidden> writes:
> I don't disagree with most of what you write. I do think a big part of
> the problem is inconsistency and poor practices by some maintainers
> which is at the hart of the issue. Sometimes it seems that package
> maintainers put too much emphasis on getting the latest package out and
> forget about the stability and dependencies that users have.
> All of this leaves me wondering why the ELPA system doens't adopt a
> semantic versioning scheme and configure the repositories to
> keep/maintain previous versions. Emacs was very late to the whole
> 'package' concept and it is a little disappointing that more time wasn't
> invested in understanding the challenges and solutions implemented by
> other systems like deb, rpm, CPAN, Java, ruby, python etc. There is
> little unique to the Emacs environment that other environments haven't
> had to resolve one way or the other.
The problems you identified in the first paragraph are why the solution
identified in the second paragraph doesn't work (for this case; I like
SemVer in general).
> However, a semantic version does provide more information than
> something like version 20200123, which just tells me the release
> date. At least with complaint semantic versions I can have a better
> idea as to whether the changes are just a bug fix, an enhancement or
> major API changes that may break existing dependencies.
Yes, and that's why I like it, too. But we can't make other developers
use it. Even if MELPA required SemVer-like numbering, nothing would
stop package maintainers from incrementing major-only version numbers.
It's their code.
Developing with proper use of semantic versioning is a discipline that
requires extra diligence. It's rarely more fun, and for most Emacs
packages, it's not worth the trouble. Most packages are dependents
rather than dependencies, leaves at the ends of the branches, and they
can be freely upgraded without breaking anything else. Most packages'
interoperability with other packages is minor.
If SemVer were required, MELPA would probably have 5-10% of the packages
it does today. The lax, welcoming approach used by MELPA has drawbacks,
but it also has tremendous benefits, and I think it's to credit for much
of the vibrancy of the Emacs package "ecosystem" and community today.
The problem I'm writing about here is that users' perception of MELPA
Stable doesn't match the reality. Discussions about how to change MELPA
Stable and MELPA versioning for the better have been going on for years.
Ultimately that doesn't matter, because package authors can do whatever
they want. We should help users understand and accept the technical
reality--and MELPA Stable misleads them, so it should be removed. As I
posted in my proposal on the MELPA tracker, we can pursue better
technical solutions then, ones that may be more in line with the
limitations of the platform.
If you're interested in the topic, please join the discussions on the