Moonchild wrote:To be perfectly frank, Tobin does have a point.
It gets really annoying after a while seeing basically the following progression over and over:
Us: "We don't support X"
You: "But we got it to work with patches A and B"
Us: "That's cool, you should fork it if you're serious about supporting X based on our project"
You: "But it works perfectly, you should continue to support X!"
Us: "We do not support X, we've dropped it for good reasons."
You: "But it works with our patches!"
Us: "Our development no longer takes X into account. You should fork it; it may break at any time"
You: "But if it works now, you should still cater to it."
Us: "We don't support X"
etc. ad infinitum
Moonchild,
I understand the frustration of ad nauseam and ad infinitum arguments, but since I have neither personally discussed this with you, nor have seen anyone else raise exactly the same point, I hope you will forgive me for one more lengthy post.
As a software engineer, you understand that there is not a one-size-fits-all approach. There is always a tradeoff between the effort required to support X, the potential risks, and the benefit.
Patches that add back bulks of removed code, or add new code to work around changes, and that touch multiple components, are one thing. Patches that basically undo a hard-coded block in a configuration file without changing a single line of code are altogether different. There is no risk to the project whatsoever.
Note, once again, that
I am specifically separating XP and Vista here. Supporting XP requires different code in a number of places, whereas supporting Vista at this point requires nothing besides, well, not artificially excluding it.
There is no "catering to it". You seemed to understand this perfectly, when you were explaining to folks a while back why you dropped XP support from Pale Moon, but not Vista support.
Your claim "we no longer take X into account; it may break any time" is valid. However, in this case, where the extra effort to allow Basilisk to run on Vista is exactly zero (
not close to zero, but exactly zero), I just don't find the approach of "let's forcefully break it now so that it does not unexpectedly break later" a good one. Because there is no risk; you are not representing a corporation bound by support contracts and SLA agreements. You can just say "I don't support it, but if it works for you, enjoy". Even commercial software sometimes takes this approach - see for example - Syncplicity - which says openly
We do not support Vista, but it probably still works, and indeed it does work. I prefer this approach when possible; it keeps the users happier, and contributes to an open user-developer relationship, which will make users want to contribute more.
I perfectly understand why Mozilla dropped Vista support out of Firefox, since they were going for Servo/Rust; from my understanding of your goals with UXP - you are not going down this path, so my feeling was that Vista support was dropped for purely technical reasons, because you took a snapshot of Mozilla's code base where they already took it out. So far this seems consistent with my findings. Since you are not planning to take UXP into Servo/Rust (please correct me if I'm wrong),
my belief is that compatibility of Basilisk with Vista can be extended, almost indefinitely, with this minimal patch, and without any support costs.
You may wonder why I care so much, and why do I continue to use something as old as Vista. Without diving into long discussions about the downsides of using "obsolete" out-of-support software, let's just say that I'm a PC geek, with multiple PCs, running every version of Windows from XP to 10. One of them happens to be a much-loved and still useful Vista box. I've been using Pale Moon for browsing there and enjoyed it, but it does break more and more with modern web (as you surely know). I figured that Basilisk could be a good answer, especially since the big guns - Microsoft and Google - have long dropped Vista support - and Mozilla is going to do so pretty soon. I chose Basilisk because I support your work, have a lot of respect for it, and view you as a developer that cares more about the users, and will not just give me the standard corporate answer "We don't support it because we don't support it" (if any answer at all).
The bottom line is - you and only you will decide what you want to have in the official Basilisk - and I thank you for being open about it. As it stands -
it seems that I have a working, simple, no-hack, solution, of getting Basilisk to work on Vista. I expect this solution to stay working for exactly as long as Basilisk stays technically compatible with Vista, so I am pretty satisfied with it.
I will happily offer this trivial patch for the Basilisk upstream, so that the other four and a half people in the world that still want to run it on Vista would benefit from it, but if you don't want to take it - it is, of course, your call. As for forking the project entirely - following releases, managing updates, keeping my own branding, etc. - that's not something I'm willing to do at the moment, and it's stupid to do for something so trivial. Besides, roytam1 is already taking care of that, apparently.
Thank you, and sorry once again, for the lengthy reply. To borrow from your previous post - sometimes things just have to be said, and there isn't always a short way to say them.