syl20bnr / spacemacs

A community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it's Emacs *and* Vim!
http://spacemacs.org
GNU General Public License v3.0
23.68k stars 4.89k forks source link

Is the master dead already? #13380

Closed ChenXiyu closed 2 years ago

ChenXiyu commented 4 years ago

Hi, team I noticed the master branch and the develop branch are diverged already, and I saw some discussion about rolling update, but couldn't found any official announcements about it. This makes me confused a lot.

As a user, I love this project. And I wish this project thrive for longer time. But a disorganized project couldn't made it (I wish I was wrong, and please fix me if I am.).

It's hard to gain trust from new users in current "develop only" modal.

A sincere user.

practicalli-johnny commented 4 years ago

A great many people have been using Spacemacs develop branch without any issues for the last year or more. I use Spacemacs for most of my daily work and its the most reliable software I use.

This Spacemacs project is one of the most organised open source projects of its kind and anyone who engages with the maintainers or regulars in the community can see that. There are some well thought out changes that have evolved over the life of this project and continue to do so.

Given the size (over 10,100 commits to date) and scope (so many layers that make hundreds of Emacs packages work seamlessly together), its a testament to everyone who has contributed that Spacemacs works so well.

Spacemacs is a very healthy project with a supportive community and a prosperous future ahead.

Thank you A happy user and contributor.

P.s. saying something is dead is relatively meaningless in software (ask all the engineers that still hack on COBOL and Fortran and every other programming language that has been labelled as dead).

sebhahn commented 4 years ago

Sure @jr0cket, but @ChenXiyu has a point. Some kind of release cycle or description of rolling releases should be helpful. As you said, develop is quite stable, perhaps it makes sense to release/push to master.

practicalli-johnny commented 4 years ago

I am not a maintainer of Spacemacs, so am not speaking for them. I have had several modest pull request accepted though.

I am surprised how few users read the detailed CHANGELOG.develop file that has a detailed list of changes that are actually in Spacemacs, rather than concerning themselves about an aspirational roadmap that is likely to change often.

(Non commercial) Open source projects are based on the work of those who contribute voluntarily, so any kind of roadmap or release schedule would be subject to change. If you want something to happen, then contributing to make that happen is the most effective approach.

GitHub issues, pull request and commits collectively provide lots of details of actual feature being added to Spacemacs.

I appreciate some may wish for the perception of stability of a software project that a release cycle may provide them. In reality, this is just perception and no real assurance of additional stability. So I have to ask, what is it you are really wanting?

The large majority of issues come from changes in Emacs packages, a Spacemacs release or rolling release would not protect against these changes.

The most effective way to get a 'stable' release is for many more users to review issues that are reported by others and comment on if those issues are repeatable. This has been called out for many times, in issues asking about a release.

There has been discussions about a 0.300 release in master across several issues. It would seem that until the work on Spacelpa is complete then 0.300 is only in develop branch. Again, there is an open issue for people to help with this.

Personally, I would rather the maintainers of Spacemacs and the community continue to work on improving Spacemacs. For example there are many layers adding support for Language Server Protocol that is becoming so popular.

Asking for a roadmap or release schedule from any open source project (actually any software project) seems rather meaningless unless you are involve in making that roadmap happen.

Thank you.

sebhahn commented 4 years ago

I really appreciate the work of all the contributor and maintainer of Spacemacs. However, more information in the readme/documentation would help (new) users to get some kind of idea on the way forward with Spacemacs. I understand that any kind of roadmap or release schedule would be subject to change, but it would be good to have an up-to-date changelog and e.g. some kind of micro-releases on develop with new (little) features. At the moment it looks like an endless bug fixing without a milestone ahead.

practicalli-johnny commented 4 years ago

The CHANGELOG.develop file is up to date. Great effort has been made by the mainters and the community to do so.

All PR's are required to have an entry before merged or cherry picked, along with updates to the respective README file. This is define in the Spacemacs contribution guidelines, along with a video of exactly how to do this.

If there are specific things missing from the change log or readme then an issue or pull request should be created.

A change log is not a roadmap, it's a log of changes that have been accepted.

Why not look at the commit history. That is a list of new features, enhancements and fixes. It's a very simple way to keep up with the handful of commits made each week.

It's not clear at all what you are missing, unless you are not reviewing this information.

What would be the purpose of a milestone. They would not an accurate forecast of what is to come and would just be a further source of complaint against the maintainers (just like the release of a version 0.300).

I would like to understand specific what you want to see, because apart from predicting the future work someone might do, all the information is available already.

sebhahn commented 4 years ago

I'd say that a master branch shouldn't be stale for such a long time or at least information should be provided why this is the case indicating a way forward or what to wait for. Probably there is a good reason, but I'm not following the discussion/issue actively.

I think what users (probably me as well) want to see is a more lively master branch. I share the opinion of @ChenXiyu that's why I left a comment.

I guess this whole discussion would be unnecessary if all the development would be pushed to the master branch. Simply create a tag for those who want to stick with the latest stable "master" before.

ChenXiyu commented 4 years ago

Thank you very much @jr0cket. And I'm very happy to hear that the project is healthy and thriving from a senior contributor. And as @sebhahn said, we are very appreciate your contribution.

I understand your explanation of how should an open source project works. However, As a newbie of Emacs and Lisp, I still need some time to practice and understand how everything works. To contribute it, there is a far way to go... But in my opinion, find and raise issues are also a kinds of contribution, right?

This question was raised because as a new come user, It was very confused that the master was so outdated from develop branch, and the get start document ask me to clone the project with master branch as the default branch.

To be honest, I get touch with Spacemacs long time ago but not heavily used it. So I know the develop branch exist. But this is not the case for a new come user which we don't want to shut them out, right? .

I reckon what we really ask is a clear agreements and announcements about the rolling update.

smile13241324 commented 4 years ago

@jr0cket @ChenXiyu @sebhahn thanks for your sentiment towards spacemacs. I understand your confusion about the master and we are actively working on reviving the master branch again.

Otherwise I can only agree about what @jr0cket said, we are actively working on develop. We are definitely not doing an endless stream of bug fixing instead we are actively introducing new layers and new features to existing layers. We are also working on modernizing our core which is to reduce maintenance and add ways for linting layer files and such.

If you are not noticing us developing new features it is mainly that new features are made in independent emacs packages which are then integrated into layers. We do not create new features directly except of in the core.

Last but not least this is a community project so there will never be a strict road map sort of thing in other words "it takes as long as it takes". Still you can help us with providing PRs if you have some knowledge in lisp (elisp clojure hy). You can also improve the documentation and report issues which also helps a lot. Also reproducing open issues aka test work is highly appreciated. Also searching for good emacs packages to integrate for new features and opening a feature request is also very helpful.

Looking forward to see you all in the project.

christerATdepona commented 4 years ago

@sebhahn There are milestones: https://github.com/syl20bnr/spacemacs/milestones

agzam commented 4 years ago

Question to the maintainers. Why can't we make develop a default branch? To be honest master never felt like very stable or up to date. And now it is making it difficult to issue new PRs - GitHub UI struggles to load diffs (because it would first try to use masteras the base). Doom uses develop as default. Why can't we do the same thing? IMHO that makes total sense.

smile13241324 commented 4 years ago

Personally I agree @agzam, however I need to politely forward your question to @syl20bnr. Technically speaking me and the other active maintainers are only helping him out. There are certain decision which are exclusively reserved to him except when he actively hands them over to us.

These include all decisions about licenses, about releases and the primary branch. Therefore we (the maintainers) cannot give you an answer to the question in that ticket. Instead we focus on working on "develop" until we hear something else from our BDFL.

practicalli-johnny commented 4 years ago

@smile13241324 Would you also be able to politely suggest to @syl20bnr that a "develop" option could be added to the spacemacs.org website, along side the existing "download" and "install". This would give new users a choice in where to start and make them aware that there are two choices. https://github.com/syl20bnr/spacemacs/issues/13748

I als wrote a guide that new users seem to find helpful in switching to develop, should the have the need. Would this be useful addition to the Spacemacs documentation? If so, any suggestions as to where it would fit in. https://practicalli.github.io/spacemacs/install-spacemacs/switch-to-develop.html

Thank you (and to all the amazing work done by @syl20bnr and all the other maintainers)

altsalt commented 3 years ago

Hi, as someone new exploring this project, I am nudging the relevant issues in the hope of having some sort of movement on this problem. While I appreciate the defensive and caring community around the project, this is a huge "missing stair" and a trap for newcomers.

Copying over my thoughts from an open issue, as an example of why this is important to make clear.

Wow, while reading through the documentation and considering switching to Spacemacs, I came across a broken link to one of the layers. Just dropped by to submit a quick PR and my pre-search found this issue. Glad I didn't put in too much effort, but to answer your question [removed username to avoid excess pings], yes, people absolutely use the main branch, since that's what anyone unfamiliar with the project is directed to.

Originally posted by @altsalt in https://github.com/syl20bnr/spacemacs/issues/14420#issuecomment-826141878 Also posted in https://github.com/syl20bnr/spacemacs/issues/14136#issuecomment-826142499

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Please let us know if this issue is still valid!