twbs / bootstrap

The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.
https://getbootstrap.com
MIT License
170.48k stars 78.83k forks source link

Getting to v4 #20631

Closed mdo closed 7 years ago

mdo commented 8 years ago

Long story short, v4 has taken far too long and I know we're struggling to find enough time to make significant dents across the open issues and PRs. To help get through it all, I'm calling it on v3 and outlining the big steps remaining here so folks know what's in store.

Here's how we get from a string of alphas to a finalized v4 release:

There's a ton this list misses, but these are the broad strokes that get us to v4. Holler with any questions or comments as I push us through this.

/cc @twbs/team

cvrebert commented 8 years ago

The current v3 docs will be moved to a sub-directory like our other hosted versions.

@mdo But this shouldn't break any links, right? We just need to keep things under /<version number>/ directories for v4 going forward.

AdamHess commented 8 years ago

A large part of the community thinks this is premature and a terrible idea until bootstrap 4 is released.

I personally have not started working with bootstrap 4 explicitly because it is still in Alpha. I as many others would still benefit from fixes, tweaks or features until bootstrap 4 is completely released.

see more discussion: https://www.reddit.com/r/web_design/comments/51cfo4/bootstrap_v3_is_no_longer_maintained/

julianlam commented 8 years ago

@AdamHess I feel a large part of the negative sentiment in that reddit submission was due to a selective bias present in the title: "Bootstrap v3 is No Longer Maintained", like the Bootstrap team decided to set everybody adrift and wave goodbye, when this obviously isn't the case.

As @mdo has pointed out, commits to v3 will still occur, just irregularly and likely only when needed.

It's really all in how you look at it... No Longer Maintained, vs Declared Stable

Bootstrap v3 has been used in production for a very long time (relative to web development timelines, anyway). If anything, additional effort devoted towards resolving issues in v3 have reached a point of diminishing returns in that either it requires significant work for minimal gain, or resolves issues that affect only a very small minority of BS3 users.

I think it's more than ready to be put into maintenance mode, so proper attention and TLC can be given to v4.

shankara-subramani commented 8 years ago

@mdo It is a bold move. Provided that it is taking longer than usual to get v4 out of alpha, it is a much needed decision.

mdo commented 8 years ago

Thanks for the feedback, y'all.

I'm sorry that I didn't explain more of the context around why I made this decision. It's been a long time coming given how sporadic development of any kind has been lately. Shipping Alpha 4 today was all the motivation I needed though to make a big change so we can push this over the finish line.

So, here's some context for why I made this decision.

Please don't take this as ungrateful or negative in any way. I'm still flabbergasted and honored that so many people use something I helped create. I'm super fortunate to be able to work on something with so much reach.

I love working on Bootstrap and helping people make rad shit on the web. Let's get v4 out the door and build even more amazing things <3.

andyl commented 8 years ago

Great news. V3 is stable. I'm really looking forward to V4.

alexbowers commented 8 years ago

@julianlam I don't think the title I chose was bias, since the first bullet point states "Stop all work on v3—today"

yarl commented 8 years ago

@mdo ISSUE_TEMPLATE.md should have info about it. Something like: "no more v3 bugs".

christopherfarrugia commented 8 years ago

In the words of the great Jersey Shore cast from a decade ago... "You do you" as well as "Haters gon hate."

geori commented 8 years ago

It's about time! :) We've been using v4-alpha in production for six months. It works great but it just feels icky to include "v4-alpha" in our package.json.

jeveloper commented 8 years ago

This can be resolved fairly simply:

Two plans:

  1. Startups/individual developers - $19.99/year
  2. Enterprise/Companies with 30+ ppl - $399.99/year

I know of so many banks and companies that use bootstrap for their internal and external products and this would be an easy write off for them. Plus it might attract more paying customers due to support.

I'm a big fan of semantic Ui (i recommend) as bootstrap slowed down in progress.

I'll be happy to build licensing platform for bootstrap , stripe has subscription system.

This is normal and i think makes sense.

Thank you

TheBuzzer67 commented 8 years ago

I'm developing on v4-alpha and If I find any problem, I'll let you know! Thanks for you good work, we're backing you gang! So hurry like everyone to see v4 released but it better take your time before to release!

I just read post about Wordpress, I want to introduce BS in my next themes so don't forget about tags that can make confusion between plateformes!

jcutrell commented 8 years ago

I'd like to address something quite out in the open:

The fact that @mdo and others have full time jobs does not actually suck. It is a good thing that @mdo is employed and isn't just making free things all the time, because GitHub is super useful and we all want @mdo to have money in the bank. We should be celebrating the opportunity in the field, not taxing open source maintainers because of their "pesky day-job." Day jobs are a big reason things like Bootstrap exist to begin with.

Secondly, there are always tradeoffs when it comes to software. Hopefully that's not a surprise. As it turns out, the decision to leave v3 behind is presumably one of pure economics. Does it make more sense to string v3 alongside v4 for another half-year than to cut losses and move forward? For the maintainers of the project, who have the full rights to make these decisions, the answer is a resounding "nope." And perhaps the most important aspect of it all is that if you so choose, you can hit the "fork" button and continue accepting pull requests. Nothing is stopping that from happening.

(I realize the value of those pull requests coming into the original account, but again - the economics don't make sense.)

The real question you have to ask yourself if you're a developer is whether or not you trust @mdo and co that the loss of maintenance on v3 is worth it for the added energy on v4. Trust is the cornerstone of open source in the first place.

Finally, if you are concerned about v3 no longer being maintained and v4 not being "stable", remember we are talking about front-end frameworks here. While stability and predictability are Good Things™, the worst thing that could happen with v4 alpha may be an edge case browser bug (that will almost certainly be fixed when v4 actually ships) or re-naming of classes - but even then, you have the power to fix it yourself, because it's ultimately CSS and JavaScript.

arackaf commented 8 years ago

I see people "thumbs-downing" @jeveloper's comment, but I'd like to also say how sick and tired I am of people not paying a dime to use OSS, and then presuming to bitch and moan to maintainers when decisions are made which they disagree with.

In an ideal world we'd be paying to use this stuff for commercial applications. Unfortunately that's not the world we live in.

If v3 is stable and the devs want to push toward v4, then great. Thank you all for all the work you've done on Bootstrap.

overtfuture commented 8 years ago

@arackaf I don't think it would be a good direction to have a personal / individual license. It would halt the use of bootstrap relatively fast. I'm in support of an enterprise license or a fee if you include bootstrap into something you package and sell.

arackaf commented 8 years ago

@nfeld9807 - I explicitly said for commercial use.

If you're making money while using Bootstrap, either as an individual, or in an enterprise, why in the world should you not have to pay for it?

zanardigit commented 8 years ago

Totally agree about the pragmatic approach and just cut off tasks that you cannot actually take care of. As long as this "drop the stable version for an unstable version" does not become an habit, it's ok for me.

Also agree on finding a way to get some money out of it (subscriptions for additional features, support, explicit donations).

I cannot help but wondering why v4 is a complete rewrite compared to v3. Was that a wise choice, especially considering this is a part-time project? I'm all for small changes, so maybe new features should have been delivered in smaller steps instead.

jcutrell commented 8 years ago

@arackaf an open source project is something that is done in public, and thus it effects other people.

Have you ever been upset with someone who was driving poorly? Swerving near your car, running red lights, or going slow in the fast lane? Why were you upset? Their actions were affecting you, right?

Now, let's apply the same logic here. An open source project, while often benefitting those around you, is a social contract. And when the contract becomes large enough, when enough people are involved, a maintainer's decisions start affecting more than just their self. This is why trust is the cornerstone of OSS, and why you can't take an open source project lightly.

You aren't paying the people around you to drive how you want them to drive, and yet you are justified to be upset with them when they drive poorly, because their actions are affecting you.

All of this said, I don't think @mdo is managing this poorly at all. I just think he's going a route that some people prefer, and other's don't. It's not dangerous, but rather it's opinionated.

arackaf commented 8 years ago

@jcutrell - you describe precisely why OSS maintainers get burned out.

Lots and lots and lots of people start using a project, not paying a dime to do so, and then they suddenly get to start making demands and having expectations of what the maintainers do, what directions they take the project, etc? Ridiculous.

This is why we need licensing (for commercial use). Paying customers get to say which direction a project should head. Paid maintainers would be happy to listen.

shankara-subramani commented 8 years ago

@arackaf and @jcutrell 's responses pretty much sums up everything. More power to you @mdo !

joshmanders commented 8 years ago

@jcutrell Except using Bootstrap doesn't endanger your life, so that comparison is moot.

Fact of the matter is, Mark and team have spent countless hours of their free time working on this without any compensation. If they want to discontinue support on v3 and move forward on v4 it's their rights and nobody, not me, not you, not even Google can say otherwise. Period.

If you do not like the decision, it's open source, it's MIT licensed. Fork the repository and maintain v3 yourself. If that's too much for you to do, think long and hard about what you're saying and apply the same logic to the maintainers of bootstrap.

Nobody owes any of us anything. Get over it.

stevenbriscoeca commented 8 years ago

I think it would be interesting to open a patreon account. With financial support, I think it would help advance the project further and maybe even have an actual employee that could help with the project full time. What do you think @mdo ?

jcutrell commented 8 years ago

@joshmanders Well, it's not really moot per se, because someone driving slow in the fast lane is merely an inconvenience. But perhaps that's not the most effective metaphor.

Also, I agree with you - hopefully my more recent comment about open source affecting peoples' lives doesn't override my previous comment about this being totally in @mdo's hands, ideologically and literally. I'm personally quite happy about the decision to leave behind v3, and have been using v4 for a bit now.

I bring up the fact that open source isn't just a "maintainers do whatever they want and no one is allowed to say anything" situation. This discussion shouldn't be about entitlement, because no one is entitled to control over Bootstrap except the creators of the project. It's about relationship.

Telling people they can't be upset over something that is affecting the work they do is just as ludicrous as saying that @mdo should have to do whatever those people want him to do. Either side of the equation gets muddy and underserves the point of open source: sharing, trust, and relationships.

When you start an open source project and regularly maintain it, and lead others to depend on you, then yes - you still have full rights to shut that project down. You can litter your code with bugs. You can do whatever you want, right? It is your project after all. But that doesn't mean everyone should love you for every decision you make. People also have a complete right to disagree with you. They can't dictate your actions, but they can disagree.

Again, I think stopping active development on v3 is a good call, and I'm happy @mdo and co are making these decisions.

(edit: speling)

joshmanders commented 8 years ago

@jcutrell Too many people see Open Source projects as paid software. It's not. You can be upset over Mark's decisions, and that's fine, but you do not need to tell him that he's wrong for his decisions.

Every open source project I release i build for my own usage, if it gains any popularity and people use it, they can contribute to it if they want, but ultimately my decision stands. It's my project and I built it for myself. If I decide to completely ditch an older version for a newer better version, that's my right and nobody can say otherwise, regardless of if it has 5 stars or 100,000 stars on github.

kirylrb commented 8 years ago

Good news!

e-oz commented 8 years ago

@joshmanders when OS project have hundreds of commits from community, then maybe community have some rights in this project too. There is difference between "free" and "open source".

I have great respect to Mark Otto and to all contributors of this project, I respect their decisions and I, personally, don't use twbs 3 anymore, but I still think old issues have right to not be closed, maybe somebody from the community will decide to solve them later.

From other side, maybe they can fork twbs3 and call it "twbs for oldies", something like that ;)

tomhodgins commented 8 years ago

@joshmanders said: If you do not like the decision, it's open source, it's MIT licensed. Fork the repository and maintain v3 yourself. If that's too much for you to do, think long and hard about what you're saying and apply the same logic to the maintainers of bootstrap.

This is so beautiful. There's a giant FORK button up in the top right…it's the reason this website (Github) exists!

joshmanders commented 8 years ago

@e-oz Having them open or closed doesn't matter, closing an issue does not make it null and void, it just means that from now on, the team can focus on v4 issues.

If anyone here is adamant on maintaining v3 and wants those issues, fork the repo, turn issues on, and I will gladly write a program for you that will import all v3 labeled issues into your repo.

anhskohbo commented 8 years ago

This's good news in today, I have waiting for long time :)

AlexSwensen commented 8 years ago

Although im not a contributor to Bootstrap, I am a user, and have used it in countless applications. With v3 considered stable by myself and many i have worked with, i agree with the decision to move forward on v4.

I do want to say that i do not agree with the licensing model proposed. Sure it would be great if some income was made by commercial use of Bootstrap, but i think that would also kill a lot of its use and so much of why it has become so popular.

Those are just my bits. Overall I'm very happy with the direction this is going!

twbs-closer commented 8 years ago

Temporarily locking this issue due to social media links.

mdo commented 8 years ago

First time I've seen our closer bot do that—sorry for prematurely locking this.

Reiterating and expanding on a few things:

I'll do my best to keep cranking on v4 and get more stable releases out the door. After that, we can re-address v3's maintenance again.

<3

andre-d commented 8 years ago

Could I suggest a a thing maybe?

1) Create a repo called v3-community and assign a few community devs to maintain that.

2) Update the text on the bootstrap site to reflect that v3 is no longer maintained but that v3-community still exists but that Bootstrap guarantees no support for that

This allows Bootstrap to continue to be honest about the level of support, but provides a place for the community to place patches/etc for issues they find along the way Bootstrap does not want to deal with.

This also paves the way for a community to maintain v3 post-v4 when web applications do not have the resources to migrate to the v4 changes at the various layers.

lddubeau commented 8 years ago

@mdo I disagree with the notion that v3 is stable. Here is a regression introduced by v3.3.7. There's no project I know of where this would not be treated as an indication of instability. I disagree with the wholesale closing of the issue that pertain solely to v3. I can understand closing those issues that entail adding features, but I don't agree with closing issues that are reporting bugs in the code base.

On the one hand v3.3.7 has unresolved bugs. On the other hand v4-alpha is, well, alpha. I don't base my production-ready code on alpha versions of third-party libraries. Bootstrap is not going to constitute an exception to this rule. My projects do not have resources to devote to test-driving alpha code.

chrisweb commented 8 years ago

I do agree that saying that v3 is now deprecated, but v4 is still alpha seems like a strange strategy at first. But if you think about it, it's obvious that reducing the time spent on v3 to increase the amount of time available for v4 is a good thing. But it's also obvious that people are now afraid to still use v3 for new projects as it won't get maintained in the future and on the other hand they are also afraid to move on and use v4 as it is still labeled as alpha version. So to decide which version to use today in production, for new projects, is tricky. But I think it's just more a communication problem, then a strategic faux pas ;)

In my opinion mdo should have said that he will reduce his efforts maintaining v3 to a minimum, so that he can allocate a maximum of time to v4 until v4 reaches the stable status. The day v4 is stable the tickets of v3 could get closed and all the efforts would go into maintaining v4. So for now, people would go on using v3, during the next months several betas of v4 would get released and in early 2017 v4 could be ready and people would start using v4 in production instead of v3.

But still I also understand mdo, he is closing the tickets because managing them takes a lot of time that otherwise he won't have to push v4 forward and I think this is the right decision. I think it's a strong signal, it means that if from now on you start a new project use twbs v4 because v4 is already pretty stable, even though it's still called alpha. It also does not mean that starting at midnight all projects that have been done in the past using twbs v3 will break.

I see lots of people arguing that he should close all the bugs of v3 before moving on, but I think this is utopic as there will always be new bugs, mostly because browsers will continuously evolve and bring new bugs. Another thing somebody else mentioned previously, this ain't a server side library that might still contain highly critical security issues that if not fixed can be highly problematic for the projects using it. Probably all the critical bugs of twbs have been fixed in the past, those that are left now are probably minor bugs that only affect a small group of users.

I doubt that creating a v3-Community version is a good idea, but everyone that thinks this must be done should just do it and learn from it. Fork the repo and post the link here and on reddit, so that others can join you in your effort. It's that easy. That's the great thing about OSS, if you don't like the direction the maintainers have chosen, then fork it and do your own thing ;) Hopefully a lot of those people that complain on reddit right now, will join and help out maintaining a fork of v3.

The problem with doing a fork, is that with any other OSS project, it won't be successful if you just have a lot of contributors, you will also need one or more strong maintainers. If you don't have one or some good maintainers that dedicate a lot of their time managing the project then it will probably fail. You can't just have a project and let everyone commit whatever pleases him. You will always need maintainers that review the commits and moderate the tickets.

Letting a project run on it's own will in my opinion never work. You need to have people that know the entire commit history and code base well, to avoid repeating mistakes. Also to avoid accepting a fix that breaks things that have been fixed in the past. You also need to have a vision and decide which features are useful and can be added or which one are only useful for a minority and should exist as addons / plugins but not be part of the core project... Great OSS projects are not great because they are OSS, they are great because their maintainers did a great job maintaining them.

andre-d commented 8 years ago

it means that if from now on you start a new project use twbs v4 because v4 is already pretty stable, even though it's still called alpha.

Once the site is replaced perhaps something explaining what "Alpha" implies should be made then.

smathy commented 8 years ago

Opinions about other people's FOSS projects (what they should and shouldn't do, whether they're justified in calling a version stable, etc.) should come in the form of forks or PRs.

martinbeentjes commented 8 years ago

As Bootstrap 3 is quite stable, I think this is a fair decision. I hope that with this decision the development of v4 (and future versions) will move progressively better. I am just wondering, what will happen with bugs regarded to security issues and such? Will those be fixed in the period of v4 Alpha until a release version of v4?

mickaelandrieu commented 8 years ago

@mdo good move, did you notice that bootstrap4 is already used for the default theme of the new version of PrestaShop ? As part as the core team, I can tell it's stable enough to be flagged as àma beta :) Also, only bootstrap4 themes can be sold on the official store!

AlchemyUnited commented 8 years ago

@mdo - While I realize there are a tremendous number of moving parts here, is there any way to view a given build more as a series of "dependencies" than a single MASSIVE blob? Quotes are intentional.

Let me try to explain, quickly.

To say that Bootstrap is robust is an understatement. But how many are using ALL the features ALL the time? If "core" features X, Y and Z are completed then might it be possible to release Build XYZ as "completed" with the understanding P, Q and R are wonky, or not included at all. I mean, the idea that nothing is done until it's all done - for a product this sophisticated - just feels like something even Sisyphus would fear.

If we are to assume that no one is quitting their day jobs, and that Bootstrap 5.x is only going to be even more consuming (presuming you survive 4), then it seems to me the only thing that's (potentially) p[ossible is to adjust the architecture and how the pieces are integrated,, finalized and pushed back out again.

Pardon me for stating the obvious, but BS5 might kill you & co - if it ever happens at all. Something has to give, and the status quo doesn't seem quite up to the task of this Godzillian endevor.

p.s. May The Force be with you.

AlchemyUnited commented 8 years ago

@andre-d - Nice. That just makes sense. If 3.x is gonna be left for dead by BS then why not just hand it off now? Good thinkin'. Now we know why they pay you the big bucks ;)

kittabit commented 8 years ago

@andre-d - The problem with that then becomes branding; you have to segment it enough that the community knows the actual team responsible for Bootstrap is not responsible for the "community" version. 3.x is stable, functioning, and works amazing. Bring on 4.x!

dreyks commented 8 years ago

What's all the hype? v3 is stable for the 99% of the use cases. The thing is those 1% edge cases that resulted in issues are not guaranteed to be present in v4 branch, so if the team is scarce on resources, moving forward is a sensible decision.

Even moving from alpha to beta will be a big deal, cause many libraries that depend on bootstrap (say react-bootstrap) don't even want to start working on v4 compatibility as it is still in alpha for a year and nothing is clear about its future

The community helps the product progress but the community does not own the product. The community cannot dictate the product owners how to spend their free time. And for those who say it is against the OSS principals I say it is OSS at its core: you get it for free, you can help making it better, but you can't demand anything from it

AlchemyUnited commented 8 years ago

@flyingsandal - A concern, but feels minor at best. As @andre-d noted, there are probably some not at all interested in going to 4.x. For them, a living 3.x makes a lot sense. "Branding" should solvable.

claudiordgz commented 8 years ago

Thanks for the heads up, we use bootstrap 3 on one project and never update it, that project will eventually get written bottoms up with something else.

On another project we are using v4-alpha, we update it often and take heat from managers constantly (it's an alpha version omg!!)

I want to thank you @mdo and the entire bootstrap team for working hard for this. I hope my comment motivates other bootstrap lovers to come forth and say thanks since most of them will be a quiet bunch.

Edit by @mdo: I removed the animated gif to try to avoid this falling into a meme spree. Sorry for the edit, but hope you understand my concern <3.

Studio384 commented 8 years ago

Is there any - at least vague - ETA on when the first beta will be available? Will Alpha 6 be the final alpha, or will there be more?

braginteractive commented 8 years ago

v4 is taking longer than the MacBook Pro update..

mdo commented 8 years ago

v4 is taking longer than the MacBook Pro update

@braginteractive MacRumors has the last release date for the MacBook Pro at 1,549 days ago, whereas v4 work was started ~530 days ago and the first v4 alpha was 384 days ago. I think we have a bit of wiggle room on hitting that point just yet. :trollface:

deepu105 commented 8 years ago

Thank you @mdo and other twbs members. You guys are doing the community a huge favor :+1:

niutech commented 8 years ago

Doesn't your decision to stop bugfixing v3 contradict the pledge from Bootstrap 4 alpha announcement?

Supporting v3

When we shipped Bootstrap 3, we immediately discontinued all support for v2.x, causing a lot of pain for all our users out there. That was a mistake we won’t be making again. For the foreseeable future, we’ll be maintaining Bootstrap 3 with critical bug fixes and documentation improvements. v3 docs will also continue to be hosted after v4’s final release.