Slashdot Mirror


Pale Moon Devs Ponder Dropping Current Codebase And Starting From Scratch (softpedia.com)

An anonymous reader writes: The developers of the Palo Moon browser are thinking of scratching their current codebase due to the fact that it doesn't support many of today's current Web standards, and because future Firefox plans will introduce incompatibilities within its codebase. The team plans to build a new browser from scratch, which they'll use to replace Pale Moon when it reaches a stable version. As with the old Pale Moon, the browser will keep Firefox's pre-Australis interface and still support many features removed in Firefox, like Tab Groups and full themes.

23 of 167 comments (clear)

  1. things you should never do part 1 by Anonymous Coward · · Score: 2, Interesting

    sounds familiar
    http://www.joelonsoftware.com/articles/fog0000000069.html

    who needs another browser anyway?

    1. Re:things you should never do part 1 by Dutch+Gun · · Score: 5, Insightful

      sounds familiar
      http://www.joelonsoftware.com/...

      who needs another browser anyway?

      Just to be clear... this is not Pale Moon writing their own web browser. This is Pale Moon reforking from a newer Firefox branch and reimplementing the features that distinguishes them from Firefox. So, the article and summary says "from scratch", which is misleading because it's not "from scratch" as most people understand the term (writing a new browser yourself from the ground up), it's modifying the newly branched Firefox code, adding their own new features or stripping out crap from Firefox. It's the Pale Moon features only that would have to be rewritten "from scratch".

      Joel's advice doesn't account for this scenario, in which you're building new code on top of an existing forked codebase that is lagging behind modern web standards. There are only two choices: Moon Child can try to integrate massive amounts of Mozilla developer changes back into an older fork (impossible, really), or he can refork and redo his own changes. Given that undoubtedly Firefox's changes have been far more numerous and substantial, it probably makes sense to re-fork and rewrite the Pale Moon code.

      Honestly, I'm not sure how this is really sustainable, as the same thing is bound to happen again in the future. And I've never figured out how anyone can be assured that Pale Moon is at all secure, either. I have a sneaking suspicion it's "secure" in the same way Macs (and Linux, actually) used to be secure - too small a target for anyone to bother with. I mean, I love the guts of these guys trying this, but... well, I wish them the best.

      I also really hate whenever someone trots out this article of Joel's and presents it as gospel, because while it's a good rule of thumb, it's foolish to view any particular development rule as 100% inviolable. I've personally been involved in several highly successful near or partial complete rewrites of very large codebases. I'd say it's certainly a good default position to take - you'd need to convince me before tossing code and starting over. But there are times when doing so would actually be more damaging and end up compromising your new design too much in order to maintain compatibility. Often, it's far better to simply put in a compatibility shim, leave the old code behind, and build a new module next to it, switching over when backward compatibility is needed and slowly depreciating required dependencies.

      --
      Irony: Agile development has too much intertia to be abandoned now.
  2. Re:Already have the internet. by Stormwatch · · Score: 2, Insightful

    Because it's not from Microsoft.

  3. tabgroups? I like that by tanstaaf1 · · Score: 2

    Actually I like the whole idea of diversity -- especially if it includes the ability to opt in where I want and opt out of any standardized way of tracking me. I'm going to take another look at pale moon now. I hope they follow through with what they are thinking. Anything but more Google/Microsoft/Safari consumerism.

  4. So frustrating by Billly+Gates · · Score: 2

    To see what Firefox has became from what it was 10 years ago

  5. Not from scratch by PineHall · · Score: 4, Informative

    Moonchild's proposal involves creating a new browser from scratch, in a so-called "re-forking" operation, where the Pale Moon devs take a newer version of Firefox and rebuild Pale Moon on top of that.

    They are not building it from scratch. They will use a newer version of Firefox as a starting point. It is "re-forking". It is likely they will not use the latest version since they want to keep tab groups. Though it will be new code when compared to the old Palemoon.

    1. Re:Not from scratch by somenickname · · Score: 3, Interesting

      This is basically what Debian does with Iceweasel (and Icedove). They pick a version of Firefox for the stable release (38 at the moment) and then just backport security fixes for it. For people that are just looking for a browser that doesn't change out from under them every time they start it, Iceweasel from debian stable is excellent.

    2. Re:Not from scratch by ChunderDownunder · · Score: 2

      Wasn't the functionality of "tab groups" moved to an extension?

      Look, clearly I've never used the feature, but what is the main objection to using the extension and pouring resources into that codebase rather than maintaining it as part of the core browser?

      Surely maintaining less code in the core browser is a good thing, if the modular replacement does the job and is supported adequately by an extension writer.

    3. Re:Not from scratch by ChunderDownunder · · Score: 2

      Not by coincidence. Iceweasel *was* just the ESR release rebranded for debian stable.

      Anyhow, I use the past tense.

      http://www.pcworld.com/article...

  6. Re:Ok? by aevan · · Score: 4, Interesting

    I ran it in parallel with Firefox, mirroring every action, back when Firefox when firefox changed its UI: 300 tabs on each, playing videos and long text pages heavy css, and without closing for a few weeks.

    The memory footprint was over a gig in PaleMoon-64s favour, and it wasn't showing any appreciable slowdown in performance. Can't speak towards Firefox nowadays, but I will note Pale Moon does seem to pick up a stutter with some videos lately if not shutdown. That could be entirely unrelated though.

  7. Haven't they done this before? by cant_get_a_good_nick · · Score: 4, Interesting

    Netscape 4 sucks, so lets throw it out and start again. Back when Spolsky could write he bitched about this.

    Mozilla seamonkey sucks, so lets gut most of it and make Phoenix (now known as Firefox)

    And now this again?

    1. Re:Haven't they done this before? by EmeraldBot · · Score: 2

      Netscape 4 sucks, so lets throw it out and start again. Back when Spolsky could write he bitched about this.

      Mozilla seamonkey sucks, so lets gut most of it and make Phoenix (now known as Firefox)

      And now this again?

      Seamonkey's actually pretty decent. It's lighterweight than Firefox (!!!) and comes with tons more features and custimizability. The only thing you lose is the newer stuff like Pocket or the chatting service, and you have an older interface pre-Auralis (though I daresay many consider these features). The real loss is fewer extensions are compatible, but a decent selection of Firefox ones still are, and there's even a converter that can get solid results. I don't know if you'll like it, but I'd reccommend to give it a try, if you want a good open source browser.

      --
      "Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
    2. Re:Haven't they done this before? by Kjella · · Score: 2

      And yet, the alternative would be to use the same thing forever. Was it a mistake for Netscape at that time? Arguably. Does that example apply to open source? Probably not, open source often doesn't (can't) "go out of business" the way a company like Netscape can. Any time there are 2 software products that solve the same type of problem, one of them could have just not been written because there was already something else. Is writing something new any different than re-writing something from scratch? Not if it is open source and you don't really care about user numbers.

      The difference is natural and forced adoption. If you create something new, you don't have existing users and people would have to start using it because they find the pros outweigh the cons. If you see a massive voluntary migration it's pretty obvious you're doing something right. When you rewrite something you have existing users and features that used to work and when things stop working we call those regressions. Most are unintentional side effects that developers agree are bugs and should be fixed.

      Rewrites are typically when those rules go out the window. Not supported anymore. That's not a bug it's a feature. That's gone and not coming back. Might come back someday, but not a development priority. Often with a solid dose of hubris like "you shouldn't be doing that" or "once you get use to it you'll love it" or "users want simple, minimalist interfaces" to say "we heard you, but you're wrong". Or to belittle you by saying this is a "tempest in a teapot" by a "vocal minority" of luddites that oppose all change.

      I guess if you don't care about users and functionality but just more code and new code it can't fail, but then you could just hire monkeys to bang on typewriters. There are good rewrites where the code was just a buggy spaghetti mess and the rewrite was a huge success, you just don't hear much about those. But often it's just a version of NIH syndrome, I don't understand the code so the code must be stupid and if I could just write it myself I'm sure it would be much cleaner and better. Usually those end up as a total disaster, with the culprit abandoning it midway.

      --
      Live today, because you never know what tomorrow brings
  8. Don't forget security by yuhong · · Score: 2

    There is the issue of security too. One security question is whether it have "Slaughterhouse" (see https://bugzilla.mozilla.org/s... and http://bholley.net/blog/2016/t...). This is not the only incident where Mozilla people have suggested hiding bugs until an old ESR goes end of life BTW.

    1. Re:Don't forget security by dgatwood · · Score: 2

      After reading that, I'm downright horrified. That further supports the common argument that responsible disclosure without a mandatory end date is irresponsible. If these people found those holes in Firefox, odds are pretty good that other people did, too, and that those people didn't have our best interests at heart.

      At least in my mind, it's really simple. If you agree to maintain something, you should maintain it. If you aren't going to maintain it, don't promise to maintain it. You may choose one or the other. You may not choose both at the same time. Not cool.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

  9. Re:interesting and I wish them luck by Aighearach · · Score: 2

    This will reduce the amount of work needed, not increase it.

    Firefox has a lot of constant code thrash, with a bunch more already scheduled in the future. This is a great move, because they'll be selecting a single interface and feature set and then they can target that directly, without code thrash. Also then the code structure has enough stability to really improve over time, something that doesn't happen if new code is replacing all the old code, instead of just adding to it or fixing bugs.

  10. Re:Microsoft should open source Edge. by Masked+Coward · · Score: 3, Funny

    Users are fleeing Firefox like there's no tomorrow. The stats show that Firefox is likely around 7% of the browser market on all of the platforms it supports. The stats clearly show that Firefox's users are going to Chrome and Edge.

    All we need is confirmation from Netcraft. Firefox is dying and bleeding users, flowing like a river of blood.

    You don't need to be a Kreskin to predict firefox's future. The hand writing is on the wall: firefox faces a bleak future. In fact there won't be any future at all for firefox because firefox is dying.

  11. off-white pages please by Provocateur · · Score: 2

    Please provide the option to offer not just white background pages (the glare limits my browsing/web surfing in subdued ambient light conditions). I do not need the baggage of a "theme"; that would be excessive; just a light shade of gray would provide soothing comfort after long work hours in userspace. Opera has this out of the box fer chrissake, YOU ARE PALE MOON and white was the color the astronauts wore on the lunar surface, which had if I recall correctly from those photos some other color but definitely was not white at all.

    --
    WARNING: Smartphones have side effects--most of them undocumented.
  12. Re:Why not help Servo? by Ash-Fox · · Score: 2

    Personally I love Rust, and love their Code of Conduct even more.

    I've never needed a code of conduct on an open source project before... Honestly, sounds like they're drama prone.

    --
    Change is certain; progress is not obligatory.
  13. Re:interesting and I wish them luck by Aighearach · · Score: 2, Interesting

    Yes. If you don't update... you don't have code trash. :)

    IMO the goal should be to stop needing to make changes, except for bugs or to interface with new protocols and formats.

    Why should a user application have more code updates than a C compiler, or an OS kernel? It seems like they should just "get there" at some point.

    Emacs isn't getting constant code changes; neither are most other programming environments. They're already stable. Gimp doesn't experience code thrash. If I had a user shell that was 10 years old, I wouldn't even notice. Most of my media viewer applications are over a decade old, with new codecs and formats added. I could run a window manager from the 90s, and it would still work.

    Of course in the context of the story, they're just re-forking to avoid backporting code thrash. So, they get to skip a bunch of versions. They'll have to do it again in the future, because firefox isn't going to stop thrashing.

    I'd prefer a finished interface, and a new rendering engine version every 5-10 years.

  14. Re:Microsoft should open source Edge. by cbhacking · · Score: 3, Informative

    I don't know that I'd call Edge buggy, unless you're running the preview versions (which are pre-release software and expected to have bugs). It is undoubtedly getting better, feature-wise, too. However, it is still fundamentally a toy browser, an overgrown mobile phone app, and it is really quite worthless as a consequence.

    It has nothing resembling good tab session management (although they did add an interesting feature in that general area in the last preview update).
    It offers basically no support over what JS can and cannot do.
    It has basically no cookie filtering.
    It has no tracking protection or ad blocking (IE first got these almost a decade ago).
    It built-in Flash that can be globally disabled, but cannot be enabled and disabled for specific sites.
    It has no support for tab grouping or switching tabs in last-used order.
    It cannot understand RSS/ATOM feeds at all (renders them just as XML files, no feed reading ability).
    It doesn't support per-tab taskbar items.

    I'm sure there's many more features missing; I don't use it enough to find out because the list above already contains multiple deal-breakers for me. The only things it does well are its dev tools (which are not mobile-app-like at all), its rendering engine, and displaying which tab(s) are playing media. Nobody who has any choice in the matter should be using it on a desktop PC, and I say this as somebody who voluntarily uses all off Pale Moon, Opera, IE11, Chrome, real Firefox (on occasion), and Midori (on occasion, though it's pretty feature-less too).

    --
    There's no place I could be, since I've found Serenity...
  15. Re:Why not help Servo? by gweihir · · Score: 2

    A code of conduct written by SjWs (and they all are) is an absolute no-go, because these projects obviously place product quality a distant second to other considerations. That cannot work.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  16. Re:Microsoft should open source Edge. by iampiti · · Score: 2

    Haven't you gotten the memo? You're supposed to use, simple, feature-limited mobile apps in your desktop and throw away the featureful, desktop-oriented-UI programs we've been using for decades...because...reasons and then doing your work...I don't know how.