Hacker News new | past | comments | ask | show | jobs | submit login
I'm fed up with it, so I'm writing a browser (adayinthelifeof.nl)
819 points by jaytaph 11 months ago | hide | past | favorite | 477 comments



OP here. Thanks for the pos/neg/neutral comments everybody. Some remarks:

Yes, there are a lot of browsers out there where I can contribute to which would be more efficient. But that would result in just a few browsers instead of a lot of browsers. I'm all for the last one, as this would give people options.

This IS a pet project. I never told anyone otherwise. I would start writing it even when I wasn't fed up with the tech industry. But I get angry about not being able to do anything about anything. And this is my way of trying to do something about it. It's the best I can do.

I think this project will not result in an actual browser. That's not why i'm writing this. I want people to see my code, either laugh at it, or get some own idea's to make things better. For instance, I LOVE the whatwg site where the whole html5 tokenizer and parser algorithms are step by step described. This means it should be easy(?) enough for anyone to write their own html5 parser. What would happen if google and/or microsoft decide to create their own custom html5 (html5, ghtml) as a closed format? Who would be able to stop them when they have such a market share?

I want to start for scratch - BECAUSE i want to know more about the underlying technical challenges.


> I get angry about not being able to do anything about anything. And this is my way of trying to do something about it. It's the best I can do.

This attitude is gold, and it's what changes the whole world.

What you said about the misery of "news" resonates with me. In psyops we call it "sapping". Propaganda designed to demoralise, dispirit and corrode resistance used to come from our enemies. The classic example was Lord Haw-Haw [0]. Today our own mainstream news channels and technology giants seem determined to keep the population in perpetual hopeless anxiety.

As you do, I find the discourse around tech to be a pit of dismissiveness, avoidance, denial, resignation, and learned-helplessness. I've been doing a lot of interviewing people lately, and careful sentiment analysis. The results are horrifying. The very word "tech" is becoming synonymous with "Resistance is futile".

To stand up and do something, anything, not because you hope for success, but as an example, and for your own sanity, is the most positive and human of responses.

[0] https://en.wikipedia.org/wiki/Lord_Haw-Haw


> As you do, I find the discourse around tech to be a pit of dismissiveness, avoidance, denial, resignation, and learned-helplessness

I have a whole tirade on this, but I completely agree. It seemed while going through college that the whole prescriptivism and general attitudes in tech are built in such a way so as to discourage certain mindsets which the industry DESPERATELY needs, and my hypothesis is that not having representation of those mindsets across the board has contributed to a much of the degradation of UX over time (along with collective laziness of course; low level languages being more work to use, much as I enjoy high level conveniences myself).


An unfortunately large subset of too-comfortable tech workers have decreed the right way is to: never reinvent the wheel, always import, and avoid 'the hard stuff'.

The sad bit? They're well compensated for this learned inability, so arguably they made the truly smart choice here.

To the blessed few who reject this apathy and continue building new innovations? I salute you o7


An unfortunately large subset of tech workers have decreed the right way is to always reinvent the wheel, never import, and avoid 'reading documentation'. The worst bit? They're very well compensated for it, so arguably they made the true smart choice here. To the blessed few who reject NIH syndrome and use existing solutions? I salute you!


Both extremes are, of course, faulty.


You got me this time, fragmede. :)


I am guilty of both, naturally :)


> An unfortunately large subset of too-comfortable tech workers have decreed the right way is to: never reinvent the wheel, always import, and avoid 'the hard stuff'.

But these are obvious lessons, don't you think?

If your goal is to launch a product or deliver a feature, why on earth are you going to waste time, say, writing a message broker from scratch or an improved Redis clone or a fork of nginx that supports some feature? Is that where your value-added lies or what will get you to launch faster? No. That's stuff you can easily live without.


>> As you do, I find the discourse around tech to be a pit of dismissiveness, avoidance, denial, resignation, and learned-helplessness.

Do you think this is why people are abandoning the GPL license in favor of MIT/BSD? Something about the fight the GPL aims to win being a hopeless fantasy? In the face of the sentiment you and OP express, I'd think GPL usage would be widespread.


I think a lot of distaste towards GPL comes from devs with corporate day jobs who feel frustrated that anything GPL licensed is functionally off-limits at work because there’s no way legal would approve of using it, and certainly would not approve of open sourcing whatever project is built with the GPL thing. I can see where such an individual might think to themselves, “I don’t want to put other devs in my position in the same pickle, so I’m licensing my thing as MIT/BSD”.


Absolutely. I'm personally a big fan of the GPL but I've felt that way before as well. When there's a great library that I want to use but it's GPL and the program I'm writing is IP, the request/proposal is dead on arrival. From that dev's perspective there's not much difference between an extant but GPLed library and a non-existent library.

That said, I do wish people would be a little more nuanced about it. IMHO (generally speaking) make libraries permissive, make applications GPL


Right, corporate lawyers are ideological activists trying to kill GPL. But the campaign to denigrate the ideological activists on the other side is much more successful.


> Right, corporate lawyers are ideological activists trying to kill GPL.

This is a pretty cynical "assume the worst" outlook, and it badly violates Occam's Razor. I think a much more likely reason that corporate lawyers disapprove of the GPL is that one of their main jobs (in some cases their entire job) is to protect the company's IP, and the GPL is a huge threat to IP. Any lawyer who didn't advise avoiding the GPL would be negligent. I personally love the GPL and encourage its use whenever possible, but I avoid it in decisions for my employers and customers because of the risks. I think generally speaking the risks are not nearly as serious as most people I think, but they do exist (otherwise the copyleft philosophy of the GPL would be pointless!)


I've seen too many cases, recent example comes to mind is apple switching from bash to zsh, that are done not for technical or even business reason but ideological.


As a developer my problem with the GPL is that it's less free than other licenses. It's an interesting legal hack, but it can only succeed in its goals by boiling the ocean. I just want to write things, and sometimes making money involves not publishing all of your source code. Having to choose between options and idealism limits the popularity of GPL projects.


Isn't that kind of the point?

The purpose of GPL and Free Software (which it has actually had resounding success in) is to develop a free commons which will stay free and not be exploited.

It's not for you to exploit to make a buck, and if that excludes your project, that's fine.

There are lots of things I would never consider free-licensing, but I think people badly miss the point of free software because they are stuck thinking only in terms of their own needs and personal benefit.

Again, if you don't want to use or contribute to free software, that is perfectly reasonable. But just bear in mind that the Linux kernel and GCC are incredibly valuable tools which are firmly in the commons and will remain free, and which you have benefited enormously from the use and free availability of.


  It's not for you to exploit to make a buck
Of course it is... That’s what Google does, that’s what all companies who are large enough to know how to work around the GPL do. Every company who uses it on their own servers without telling you, or even compiles and distributes it hoping that no one notices, does. And when they do, they sometimes contribute resources back to the project, which helps it to thrive.

The GPL is very ideological, and there’s nothing wrong with that but you can see the cost of that right here: where someone pointing out there is a hidden cost is shamed for doing so. Given the chance of contributing code or community to two similar projects, I prefer the one that’s more about building than it is about contracts.


I'm simply explaining the point of GPL. Being able to work around the point doesn't mean it's not the point.

Do you really think it's fine and good for Google to take work explicitly intended by its authors to preserve free computing and work around the licensing to make money without preserving the intent and purpose of its license?

Shaming would be much stronger. I even pointed out that participating in it is totally elective and I personally would not in many cases.

Framing it in terms of your own cost/benefit is missing the point, though, and there is a meaningful and valuable purpose to it outside of maximizing your personal benefit in the moment of choosing a particular library.


The GPL is not required for such a commons to flourish. Most Rust projects are published under a permissive license, and that scene is flourishing just fine. I think that open source software as a whole, not the GPL specifically, is what has enabled the flourishing you mention. It seems to me that in the counterfactual world where Linus chose to use the BSD license for his kernel, Linux would thrive just as much as it does today.


The reason we have custom roms on android phones, is because of Linux's copyleft license: Phone vendors are required to publish their kernel modifications shipped with their devices. This already reduces e-waste by lowering the purchases of new phones, when old ones are perfectly functional. Thus, copyleft helped the environment


To me this is also an example of how the GPL fails. The requirement for phone vendors to publish their Linux source trees does in part enable custom ROMs, but vendors still have found ways around the license in the form of proprietary kernel modules. This gives these phones a shelf life: after the latest OS version requires a kernel newer than the one the proprietary modules are shipped with, and efforts to write shims (which are always error-prone and hacky) start to fail, the phone can't even get updated versions of the custom ROM.


It's not GPL's fault, but greedy vendors which don't want to open source their drivers.


I don’t like hypothetical counterfactuals but of course it is your choice to use them. It is hard to meaningfully compare recent programs, rust or otherwise, with established behemoths like Linux, gcc, Emacs, etc, that did the heavy lifting and allowed the playing field to remain even over multiple decades. If gcc did not exist it is not clear at all how a hypothetical computerized world would develop.


The point of copyleft is to protect the continued existence and welfare of such a commons. I'm not even necessarily saying it is the only way to achieve a healthy free commons, I'm simply explaining what GPL is for.

That said, do you think it is in fact protecting the user from exploitation, or promoting the health of a free commons, to use "free" software in nonfree products which do not provide their source code to the user nor guarantee the user's ability to study, extend, and modify the software that they are using?

I think the argument for Free Software is at the very least strong and good. There can be other approaches to solving the problems FSF wants to solve, too, but it is a totally valid and non-debatably historically useful position at the very least.


>> As a developer my problem with the GPL is that it's less free than other licenses.

The freedom to deny other people the freedom you are enjoying is not compatible with the notion of freedom. It's hypocrisy.

That's not to say there is no place for MIT/BSD licenses, but it is not with general application software or libraries used to build such.


The fundamental problem I have with the GPL, and I think is echoed elsewhere here, is that the GPL is not about my code. It is trying to force my will on other people’s code. It is inherently less free because it is trying to exert dominance over things I do not own and have never been involved in. In theory, a 10 liner GPL Python script could infect an org with 20 millions lines of closed source code and try to dictate the licensing of those 20 million lines.

To me that is just wrong.


Unfortunately you've fallen victim to years of anti-GPL propaganda and FUD. A 10-liner GPL Python script is not going to "infect" an org with 20 million lines of closed source code. Suggesting that it's possible, even "in theory", is absurd.

Yes, you need to be careful when you integrate GPL and LGPL code into your proprietary code base, and in some cases you just cannot do it. But so what? You are not entitled to use of that code. If you can't use it because of its license, then that's life: move on and find something else that you can use, or write it yourself.

And you also seem to think that if you screw up, and do depend on a GPL library (for example) in a proprietary code base, then you're required to give away the source for your 20 million proprietary lines of code. But that's not the case. There are many different remedies possible. One (common) remedy might be to cease distribution of the infringing code, remove the GPL component, replace it with something else, and re-release.

I think there are very few copyright owners who release their code under the GPL who would immediately push for the remedy to be your company releasing all of their proprietary code under the GPL. At least certainly not at first contact, if the company is capable of acknowledging their mistake and working in good faith to correct it. And even if a copyright owner did decide to push for this, it is ultimately up to a court to decide, and it seems vanishingly unlikely that a court would order that remedy, especially if the company was offering less-extreme, good-faith options.

> It is trying to force my will on other people’s code

I just wanted to call this out specifically, because, again: absurd. Please look at it from the default state: you do not get to use someone else's code at all. That's what copyright law says, in the absence of another agreement. Even if you have the source code to my library (or whatever), you cannot use it in your product unless I have given you a license to do so.

If you are considering using someone else's code in your project, one of the first things you should do is look at the license. If you see GPL, and don't want to abide by the terms of that license, you move on and find something else. That code is not trying to "force its will" on you. You are free to use it and follow its licensing terms, or move on. You are no poorer because that code is there, as you are not entitled to use it without a license anyway.


  Unfortunately you've fallen victim to years of anti-GPL propaganda and FUD. A 10-liner GPL Python script is not going to "infect" an org with 20 million lines of closed source code. Suggesting that it's possible, even "in theory", is absurd.
Unfortunately, intention is not how law works. The GPL is a legal contract, and how much of a company's IP will come under it will be determined by a judge after lots of expensive litigation. If a suit is filed they will pick apart every line in the license, subpoena every change that was made in every version that someone could claim "was distributed" (available at a public URL?), every email that was tangentially sent, every bug that was filed, every document written, etc, just to determine the extent of what is covered. If that sounds excessive and you haven't heard of it happening, that's because no one wants to go through this and would rather settle than spending the money and effort on defending themselves. To understand the potential, look at https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_....

The GPL purposely weaponizes source code in a way that other open source licenses do not, and personally I would rather hope that people decide on their own to release their changes than invite the lawyers into my code. Using code licensed this way is okay for projects that are already 100% GPL or aren't worth owning.


"Yes, you need to be careful when you integrate GPL and LGPL code into your proprietary code base, and in some cases you just cannot do it. But so what? You are not entitled to use of that code. If you can't use it because of its license, then that's life: move on and find something else that you can use, or write it yourself."

Yeah, apparently people moved on and the GPL is loosing significance.


Is it, though? I really don't think it has. There's still plenty of GPL-licensed software out there; most of the software I run on my laptop is still GPL, for example (the main notable exception being Firefox).

I think perhaps there's just a lot more open source out there these days than there was 10 years ago. A good amount of it was started by or sponsored by corporations, and sadly those types of entities are less likely to use the GPL.

But that's fine, no skin off anyone else's back.


Ok, I also have no hard data at hand, but in my impression the vast majority of projects even started by individuals today do not use the GPL, but rather MIT or alike. Me too, because I do not like the concept of copyleft. I like the intention behind it, a world with open source as standard - but I just think the way towards this, is by convincing people step by step and proofing that they can also make money with open source and not trying to force them to open source.


IANAL but I don't think your example is accurate. Unless you expanded that 20 line python script into your 20 million line application, the GPL is not going to cross over and infect your other code. It would mean that if you are distributing that python script to users then you have to include the source for it (not usually a problem with python, but it is for other languages).


From the GPL 2.0 license:

“You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License”.

That is pretty clear. If you distribute software that contains a GPL component, the whole lot is considered GPL. Whether the GPL is 20 lines or a million is irrelevant.

This is why the GPL and similar licenses are called viral. They infect other people’s code and try to impose license terms on it.

This is also why licenses like LGPL were created, to try to be a little more reasonable. But that seems to have failed almost completely.


The GPL started when RMS wanted to fix his printer and Xerox said "No."


So are printer drivers GPL licensed these days or did the GPL fail?


Speaking as a GPL/"Free" software partisan, we failed. Although I don't like it, I think it's pretty clear. Most people have no idea what the GPL is, even most people who have heard of it don't seem to understand what it was trying to accomplish.

The farmers fighting for the "right to repair" their own tractors are the front of the battle now.


> I just want to write things, and sometimes making money involves not publishing all of your source code.

I've made lots of money and I publish every piece of code I've ever written to do it.

What you are describing must have been written by someone who does not believe in software freedoms.

Software freedom is an ideology, not a license. If you license part of your software as free software but not other parts of your software, you do not believe in software freedoms for the users of that software.

It's sort of like a factory that only uses slave labor for one step of production. Does that factory operator believe in human rights if their line is 90% respectful of the dignity of mankind?


  What you are describing must have been written by someone who does not believe in software freedoms.
That seems to be a common sentiment, that preferring non-GPL projects is about exploitation, and I don’t think it makes any sense. The GPL is a contact that takes away some rights of the people using it, and that makes everyone freer? I understand the goal of wanting users to have rights that they would not otherwise have, but binding every developer in the hope of eventually binding multinational organizations seems like an awfully high price to pay.

  I've made lots of money and I publish every piece of code I've ever written to do it.
If only this were the common case. I once asked Stallman if he had any ideas on how we might make that more common, and all he said was it wasn’t his problem. I agree that it’s not his problem, but the prevailing solution seems to be to avoid the GPL. I think that many people would love to hear your thoughts on it.


> The GPL is a contact that takes away some rights of the people using it, and that makes everyone freer?

It is not that simple. The GPL "takes away" some rights of the distributor of the software (their ability to restrict redistribution for example), but grants rights to the end user (the ability to modify and redistribute) of the software.

It's all perspective. As the developer the GPL may feel limiting, but as a user it is liberating.


I don't think you've really clarified anything. It is a trade: ensuring greater freedoms for the end user by adding restrictions -- by definition "not freedom" -- to developers/distributors.

I'm not saying that's a bad trade off to make, but it is absolutely a fact that the GPL takes away some rights. Or, since it is a copyright license, where the default in copyright is you get no rights, you might instead say it does not give all possible rights. I think it's important to recognize that sometimes "the greater good" comes at a price.


> it is absolutely a fact that the GPL takes away some rights.

Expressing it like you did is misleading. One man's freedom is another man's restriction. It's two sides of the same coin.

It is absolutely a fact that laws against murder take away some rights. Suddenly you are not allowed to kill other people. You do not have that "freedom" anymore. Flipside is that others now have the freedom to walk around without fearing that they can lawfully be killed by others. You pay for granting one "new" freedom by removing another, opposing freedom.

The GPL grants new rights for a party by restricting rights of another party. Just like all licenses do.


> I've made lots of money and I publish every piece of code I've ever written to do it.

I'm curious to know what your personal method is. Consulting, paid support, proprietary dual-licensing maybe? There are indeed many ways to make money and still publish code as FOSS; the tricky thing, as always, is to work out which way is the right one for you.


For most people, a pile of software is not nearly enough. They need help of every sort to use it effectively.


But you allowing yourself to not provide me with the code makes me less free, so you are the problematic one in this situation.

GPL's freedom is not about you as a dev, it's about me as a user.


Yeah, it strikes me a bit like, this will be hyperbole, complaining about forbidding slavery reduces freedom because you are not allowed to have slaves.


The difference is that nobody is harmed in the scenario where someone makes a closed source product with permissively licensed code. The original project is still there and still just as usable. Everyone still has the same freedoms as they did previously.


> The difference is that nobody is harmed in the scenario where someone makes a closed source product with permissively licensed code.

This is not true. What is harmed (and has effectively been destroyed) is the market to make money from selling libraries.

Many might be too young to remember, but it used to be that one could make a nice living selling libraries to companies.

In 1990 (just to pick a year) when BigCo Inc was developing a software project and needed library foo, they generally had two choices: build it internally or purchase one for money from a third party. This meant there was a nice market for small software houses to sell all kinds of libraries to BigCo.

Imagine for a moment a world where all open source is GPL. BigCo wouldn't touch the GPL libraries so they still either build or buy and we (developers) can continue to make money from our work.

Unfortunately it is no longer possible to make money from libraries because anything BigCo wants can be had for free in a BSD/MIT license so they get to take all the volunteer work, profit from it and give nothing back.


Yes, if you jeep your code closes then society is losing because everyone relies on you for everything. It's not about being usable, it's about being in control.


If that "someone" is backed by a large corporation whose goal is to extinguish the utility of the existing project, they might hire away some of the contributors and add features at a pace that the original project just can't keep up with.

While that's certainly capitalism at its finest, I don't think that's a good outcome for the user base as a whole, or of the community.


> As a developer my problem with the GPL is that it's less free than other licenses.

This is true for you, now. But that's not to say it does not increase freedom over time, over a couple of generations of software enhancements.


> I just want to write things, and sometimes making money involves not publishing all of your source code.

This is why I do both. I copyleft some projects. Others, I don't. It all depends on the balance of needs.

Although, for me, the issue isn't releasing source code at all. That's orthogonal to the issue of whether or not to use an open source license. I have yet to release software, open source or otherwise, where I haven't made the source available. For my non-OSS projects, that source is only available to people who have purchased the software, though.


I have the same problem with GPL, specifically in that as far as I can tell it doesn't give one the freedom of making a living out of making software as a product. I'd love to be proven wrong and find out that there are practical, viable ways to develop new GPL software and be paid strictly for doing this. However, what I tend to hear is that people don’t get paid for this, but rather for customizing that software (once it’s made) for individual clients, or setting up that software on a server and charging for access to that service. The few that do get paid directly for writing new GPL software seem to be funded by a patron who doesn't care about the software's direct commercial viability, either out of principle (e.g. the FSF and GNU) or because the software is a loss leader that bolsters the patron's primary business (e.g. Google and the Android codebase.)

To put it another way, as a software developer I would personally like to make a living analogously to how a successful book’s author makes a living. Such an author can make a living primarily or even exclusively from writing each book, not from giving away the book for free and making custom versions of that book for individual readers, or by offering and charging for live, public readings of the book, or by asking for voluntary donations from those that download the book, or by selling merchandise related to the book.

I personally want to make a living making software products, not services. GPL doesn’t seem to offer me a way to do this.


> I personally want to make a living making software products, not services. GPL doesn’t seem to offer me a way to do this.

It's exactly the opposite!

If you want to make a living making software, you make it GPL. Any corporation that wants it will need to pay you for a commercially licensed version they can use (it's your code, you can license it in as many ways as you want). The hobbyists can use the free GPL version and the companies can pay you for your work. Win-win.

If you make your software BSD/MIT licenses you can't make any money, every corporation that wants it just takes it for free so you can't make a living out of it. You could try selling support but if your library is great and easy to use, not much money in that.

Unfortunately for you (and me) even if you make a really awesome library and license it as described above, you still can't make a living because there are other similar libraries with MIT/BSD license and the corporations will use those (even if they are inferior to yours) to avoid paying you. Thus, the market for selling software like this has been eliminated and we're stuck selling subscription services.


Dual licensing becomes very difficult once there is more than one person writing code, and that includes submitting bug fixes. Once this happens you need to track down every contributor and have them sign licensing terms. It's long, difficult, expensive, and you might prefer to rewrite the whole thing again. https://en.wikipedia.org/wiki/Contributor_License_Agreement


You might be surprised. Unless you are dealing with clients that have been burned by software licensing, or have attorneys knowledgeable in software patent/licensing law, you could charge clients for building software and release it as GPL. You then also provide the setup of that software, which you can include in the total cost. There is lots of GPL software out there, but not many people that understand how to setup or support that software. It is very possible to make a good living off the setup and support of GPL and other open source software.

If you don't feel right for open sourcing software you wrote for someone else, you could always offer your client a discount to let you open source the software. There are quite a few companies that now make their money supporting open source software, even when they aren't writing it themselves. I've done this myself, and I think it's a lucrative business model that still gives everyone involved freedom.


> I personally want to make a living making software products, not services. GPL doesn’t seem to offer me a way to do this.

These two things are pretty unrelated.

For Android apps, a common model to have a paid version in the play store and still publish the source code on github with GPL. Here the GPL actively protects you against somebody coming, doing some minor modifications and then pushing their own paid-for version to the app store while not publishing the source code (which they could easily do with other licenses).


That’s the thing: the GPL isn’t there for you, the developer. The GPL exists to ensure freedoms for the user and it does this by requiring responsibilities of the developer.

This creates an interesting and important second-order effect that allows it to accomplish its goals without needing to boil the ocean by ensuring every user has the same ability to develop the same software, blurring and reducing the line between user and developer, creator and consumer. Practical considerations often prevent the expression of this effect but the opportunity doesn’t even exist in most other situations, particularly when you get to web services.

I didn’t reply to the important issue of money, the fundamental developer problem, because I’ve never been in a situation to sell my own code: my own projects have zero to do with my rent work.


I think opinions around software licenses are limited to us hackers, and the actively code-publishing subset of us, moreover.

From my POV the GPL certainly seems alive and well, and the ideology of the Free Software movement remains sound and strong.

What I'm alluding to is the wider public. In <podcast-i-dare-not-mention> we literally walked around town interviewing young and old. Soon as I can, I'll share the results in a HN submission.


> Soon as I can, I'll share the results in a HN submission.

Please do!


Copyleft was a good idea, but its real world utility is a lot less than anyone would like.

I once inherited a GPL project, but I couldn't muster any community interest in working with it. Plugin authors would have been compelled to use GPL and no one seemed interested. We had to burn the project to the ground and start over with a new MIT licensed project. Now there's a flourishing community of plugin authors working with it.

GPL being a viral license is the core problem, I think. I get the intent behind that clause, but developers tend to not enjoy being mandated to like that.

I don't think GPL is bad, but it's not exactly pleasant either.


Why would plugins have to also be GPL? The whole point of plugins is (typically) to allow distribution separately. IANAL but it would seem to me that unless you distribute your "plugin" as a statically linked binary that includes the main app, then the GPL would be irrelevant. If I'm wrong I'd love to be informed


I don't know if you are wrong or right. But to be sure, I just stay away from copyleft as it seems safer ... see the point?

Most people want to write software, not worry about licences. MIT seems easier, so people use it. For commercial as well as pure hobby projects.


According to the GPL FAQ, there aren't different license requirements for static linking vs dynamic linking. (The reason you can link glibc, stdc++, etc., which are licensed under the GPL, is because they carve out a "GCC runtime library exception" for such libraries, allowing one to choose a different license anyway).

The FAQ also says that if "establish intimate communication by sharing complex data structures, or shipping complex data structures back and forth," then the that is essentially the same thing as dynamic linking, and so the GPL applies to your program as well.

Link to the FAQ: https://www.gnu.org/licenses/gpl-faq.en.html

The relevant FAQ questions:

----

> Does the GPL have different requirements for statically vs dynamically linked modules with a covered work? (#GPLStaticVsDynamic)

> No. Linking a GPL covered work statically or dynamically with other modules is making a combined work based on the GPL covered work. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

----

> When is a program and its plug-ins considered a single combined program? (#GPLPlugins)

>It depends on how the main program invokes its plug-ins. If the main program uses fork and exec to invoke plug-ins, and they establish intimate communication by sharing complex data structures, or shipping complex data structures back and forth, that can make them one single combined program. A main program that uses simple fork and exec to invoke plug-ins and does not establish intimate communication between them results in the plug-ins being a separate program.

> If the main program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single combined program, which must be treated as an extension of both the main program and the plug-ins. If the main program dynamically links plug-ins, but the communication between them is limited to invoking the ‘main’ function of the plug-in with some options and waiting for it to return, that is a borderline case.

> Using shared memory to communicate with complex data structures is pretty much equivalent to dynamic linking.

----

> Where can I learn more about the GCC Runtime Library Exception? (#LibGCCException)

> The GCC Runtime Library Exception covers libgcc, libstdc++, libfortran, libgomp, libdecnumber, and other libraries distributed with GCC. The exception is meant to allow people to distribute programs compiled with GCC under terms of their choice, even when parts of these libraries are included in the executable as part of the compilation process. To learn more, please read our FAQ about the GCC Runtime Library Exception (https://www.gnu.org/licenses/gcc-exception-faq.html).


The FAQ is just the FSF's wishful thinking, and not a legal document.

If your program can fork and exec another GPL-ed program, and exchange complex data structures with it, that is neither here nor there.

All that matters is whether or not you are redistributing the program, and if so, whether that is in accordance with its license, which restricts the manners of redistribution.

If you are not shipping that program, but your own GPL-incompatible program needs it (your program cannot be used unless the user has an installation of the GPLed program) then you're likely in infringing waters, because it could be seen as redistribution anyway. Though it you aren't physically redistributing the GPLed program on the same medium, redistribution of that GPLed program, carried out by someone somehow, has to take place for your program to work. It's as if you are redistributing it "by proxy". If the user doesn't have that program, you have to instruct the user on how to obtain it, thereby turning that user into an agent of redistribution, acting on your behalf.

But if you ship another program which is drop-in compatible with that the GPLed one, which allows your main program to run, then in all likelihood the GPL doesn't have a leg to stand on against you.

If you don't redistribute a GPLed program, in any manner, whether directly or "by proxy", you cannot be infringing on its license.

A GPLed program being combined with yours by the user, in their installation, has nothing to do with you, if that combining isn't a condition of your program being able to usefully execute. That is not redistribution but use, which the GPL does not restrict.


I don't think that's the fault of the license, its the fault of the world going in a less free direction.


That doesn't really add up. The core problem of GPL is that it's viral and takes away freedom from downstream developers in favor of upstream freedom.


I don't use the GPL (and never have) because, like another poster said, it is less free. When I put work out there for someone to do what they wish with it, I don't think I should then say "oh unless you do xyz, I don't approve of that". That strikes me as hypocritical, and so I don't do it. I don't harp on anyone who uses the GPL, they gotta do what they think is right. But for me, the GPL was never a good choice for software licensing.

And before anyone says "someone can make a closed fork of your code and then charge for it", I am aware of this. I also don't see the problem. My goals when sharing code are to share my work and help others by doing so. If some company uses my work to profit, I still have accomplished my goals. Moreover, others can still download my original code if they wish and reap the same benefits as the for-profit company did. This is a great outcome. Everyone benefits, nobody is harmed. While this scenario is often used as an argument that permissive licenses are bad, I think it is a very poor argument indeed.


You're only looking at it from the perspective of the developer. The GPL freedoms are for the end user, not the dev.


I choose MIT as my default license, because I don't like it when the license is longer and/or harder to understand than the program itself. Simplicity is underrated in software development; there's so much you can do with less.


To me the biggest problem with GPL is compatibility. The majority of coding effort is commercial and will be for the foreseeable future. If the frameworks are GPL then the commercial interfaces will likely be incompatible with free software. Thankfully they are mostly BSD so commercial software works on free software systems and vice versa.

For user-facing software, GPL is fine, but fewer people actually want to write that.


It’s unfortunate that the message discussing enemies was flagged. Maybe it needed to be said in a better way?

The US government is undeniably often working against the best interests of its citizens.

Corporations, corporate news, and advertisers are also working against our best interests. Im not sure any mindful and reasonable person would refute this.

However I will be charitable in saying that I don’t think they’re making us hopelessly anxious to subjugate us. They’re doing it because it’s profitable


I didn't flag/mod the comment, but I think it errs towards conspiracy theories.

I'm not American, and I understand the American government does evil things sometimes, but it also does a lot of good things for its citizens. It builds roads, keeps the skies clear, funds education, health systems, sues tech giants when they go too far, tries to manage the speculation/money markets, etc. To say "undeniably often working against the best interests of its citizens" is very hyperbolic. Most would probably argue that the government does not do enough, even conservatives (ex: controlling abortion or bathrooms, not that I agree).

The news are also not there to demoralize you, not as a primary objective. Anxiety and negative news do sell ads. I find public radio such as NPR do a wonderful job of balancing point of views, giving the facts, and provide some hope by explaining the underlying issues and possible solutions. Where I live, public radio is the only non-ragebait media that constantly puts pressures on whatever government is in power, and explains various points of views (while admittedly being more centrist editorially, angering both hard-left and hard-right).

I totally agree however with doing whatever it is you are good at, and that's a way to work towards improving the world.


> it also does a lot of good things for its citizens.

> It builds roads

At insane costs and timelines while also lining the pockets of the politically connected

> keeps the skies clear

60% of power generation in the US is fossil fuels, which is horrible compared to any european country

> funds education

Much less so than any country in Europe, and the cost of education is sky-high

> health systems

Which is terrible compared to any European country, while also being the most expensive and some of the least accessible in the world for advanced countries

> sues tech giants when they go too far

Barely. And the revolving door of regulatory capture is a major problem

> tries to manage the speculation/money markets

Again, less so than many countries. Also the US is $33 trillion in debt

The bottom line is: no public healthcare for most, extremely expensive medical costs, extremely expensive education costs, extremely expensive infrastructure costs, horrible use of fossil fuels, and horrific workers' rights.


As I said, most would probably say the government does not do enough. My point was just that the comment could be seen as erring towards conspiracy theories, because it's quite common to hear "the government is against you". Maybe it was not op's intent.


Think about what kind of life our grand- or grand-grandparents had. They went from horse-drawn carriages and muddy streets, to modern cars on roads in their lifetime. Even us older neckbeards went from 8-bit computers to modern PCs on modern networks.

But I feel like this progress has reached the end of the S-curve and there is a feeling of bitterness and disappointment slowly seeping into our collective conscious, whether we realize it or not. The other things about propaganda and modern news I think are more side effects.


I understand the feeling. It could definitely be said for browsers (from Netscape to IE, to Firefox and now what might feel like a giant kludge). It could be said for cars (more expensive to own, complicated to fix, only to be stuck in traffic).

I don't think it's a conspiracy though. Certain things do reach saturation, or end of the S-curve, and sometimes society moves on to something else. I now use my old bike mostly instead of my expensive car, sometimes freezing my ass in winter, and I'm getting old and have kids. I could be bitter, but I'm actually quite happy that I can safely cycle in my city now.

(I know, I'm offtopic, though I do wish the downvote brigade would provide more useful feedback)


Looking at progress can't be attributed to the system of government. It's possible something like communism would have had us even further along.


Perhaps part of the situation is that with all the magnificent technology available, it is hard not for governments to do good for the citizens, even accidentally. After all, even if you were the most corrupt and self-centered individual to hold the title of 'President', you'd still probably order a road be built anyway, and that road will still improve citizens' lives at least on an economical level.


> [0]: https://en.wikipedia.org/wiki/Lord_Haw-Haw

Honestly, my biggest takeaway from this article is that the guy was hanged for treason against a country he wasn’t even a citizen of…


It is terrifying to me how strong the public desire for retribution is. Despite over five years of conflict, the history books show that there will still many who wanted more bloodshed to 'get even'. As what might be considered an even greater tragedy, there were loyal members of the various French resistance groups who were summarily executed for their 'involvement' in Nazi or Vichy institutions, when in fact they were spying for the French against those very institutions.


For me it's a bit like the whole "woke-ism" thing.

The vast majority of people enjoy each other and don't subscribe to the vitriol that comes from both sides. In that manner, the internet is a bit of an echo chamber where if you get all of your impressions of the world from it, you'd think people were constantly at each others throats.

The news is the same way, they report negativity, so it has a real tendency to make you start thinking of the world in such a negative way.

That's not to say there aren't real threats out there, but the vast majority of people are just trying to get through their day.

This happens to police officers too, most of their interactions with people are negative due to the nature of their work, over time that starts being their default position towards people. I'll never forget the time I walked into a bakery and decided to get a cupcake for the police officer sitting in his car outside the shop (he was blocking the alley, unsure why). The change in his face from defensiveness to pure joy when I walked up to this vehicle was easily worth the money spent.


from the "assume ignorance before maliciousness" standpoint, a lot of the impression you speak of is just a fact of us humans reporting on the (perceived) more critical news, (perhaps also maybe the more profitable news) - but is more (in my opinion) a natural result of the news having limited time/bandwidth to report on a near-infinite content production source (the world)

A side effect (and the end result) is that we all end up having poor [Bayesian priors](https://en.m.wikipedia.org/wiki/Prior_probability) in our heads - this disproportionate reporting practice at large impacts our understanding of the world, as you describe. And I bet there's a feedback loop: the more skewed our model of the world, the more we will produce/consume skewed content.

I think this is not something you can ever truly do completely away with because of the many factors that it arises from, not limited to our psychological biases that tend us towards liking or interacting with certain form of content more than others... but certainly there should be more controls.


There's a positive aspect to employing police officers to be present even when there is no tangible risk of crime or danger.

Where I live, it's extremely unusual to ever see a 'bobby on the beat', so when I recently visited a city with thirty or more police officers with riot vans congregated at the docks, ironically I felt slightly uncomfortable - what mortal danger could be present around the corner to justify so much police attention? It turned out to just be a big football match, so there was not such a huge danger after all and the police would no doubt be able to diffuse any disturbance immediately.

If there had been no police around, it would never have occurred to me that there was a risk, even though I would have been tangibly less safe without their presence.


You shouldn't have to write this response on 'hacker' news, but good for you. Work on what you want. Some people do wood working, fix cars, or play video games. Others like coding. I have tons of partial projects I've started for various reasons, and enjoyed them all. Good luck and have fun. And, maybe your project does turn into something bigger.


Right? Whether or not it's practical, it's the way we learn.

I used to see that sort of haughty "well why do you want to do X" response all the time on stackoverflow/its ilk (I've basically deprioritized results from that entire network of sites now), which isn't even a good tack as there are plenty of others who might want to do X for other, valid reasons; "why" shouldn't even be a question as far as learning goes.


Agreed. This community has a tacit assumption that everything must make money or some other kind of return, otherwise it's useless, and that's not true. I love hanging out here, but I've posted projects for fun where people couldn't believe I didn't want to make money on them.

Money is great, but it's not everything. Good luck, OP!


"(just a hobby, won't be big and professional like gnu)"

https://en.wikipedia.org/wiki/History_of_Linux#The_creation_...


Well said. I couldn't agree more!

Good luck to the OP!


> This IS a pet project

I think that is a great attitude to start with.

When you build something with the attitude that it's for you and not "meant to be big and professional like GNU" to paraphrase Linus Torvalds, you can often achieve a lot with far less effort.

It allows you to be pragmatic and accept things that you otherwise might not, and you can get to something useful to you whether as a learning experience or to actually use with a tiny fraction of the effort you'd want to invest if you intended to build a "product".

A lot of my personal projects have involved stumbling over a project like yours and repurposing parts, and often veering off in entirely different directions, because it's often so much easier to pick up someones small pet project that is "close enough" than trying to pare down or adapt a huge, feature-complete beast.

With a browser, a huge part of the complexity comes from needing to support every site out there, and every usage scenario, but when you build for you, already just being able to focus on making sites you care about work well enough pares the problem back enormously...

And this is a long way of saying I think more people should take on "impossible" projects. Maybe the full thing won't be useful for other people anytime soon, but maybe parts of it will be, and sometimes something bigger comes out of what starts as a small pet project (like Linux did...)


Ignore the noise. So much crab mentality on HN sometimes.

If even half the time spent telling people that their project is pointless waste of time was spent doing something constructive instead, the world would have a lot more cool and interesting projects in it.

Better to fail at something bold and ambitious than not even try at all.


This!

Making >> Not Making, always.

You make, you learn, perhaps one day you will make something better, perhaps not — but at least you've been building something. Ignore the armchair critics, criticizing is so much easier than building.


I'm not upset at the OP, but I wouldn't say this is a golden rule. Some people make some really atrocious shit. People should, in general, be at least a little critical of what they're making.


It's fine to make atrocious shit though. Making something good takes practice. Often you need to see what sticks. Sometimes the only outcome is a lesson.

The master has failed more times than a beginner has even tried.


I don't think that GP is talking about the quality of production, but the quality of the concept. There are things that people with any sense of shame would not produce.


I've literally only had success with software I built to satisfy my own curiosities and needs. Not all of it took off, granted, but I think that's fine. Not everything needs to succeed.


Sorry - I don't mean low-quality, I mean evil.


Being critical of what you're making...is infinitely better than being critical of what other people are making while not making anything yourself.

The making part is the key.


As I said elsewhere, I'm referring to people doing harm. They should stop making things.


it might be easier, but that doesn't mean all criticism should be ignored.

In the spirit of cliched reductive "feel good" statements of this whole comment section, ignoring criticism is also easier than building something that ends up to be extremely subpar.


Basically anything you build, a lot of people will crawl out of the woodwork to inform you that they'd prefer you build something else.

The only sane option is to build for yourself, you can't win trying to please that crowd.


I wish more people gave a shot at browser implementations. You see a lot of comments that this in a herculean task, and maybe it is, but it's not _that_ bad.

You don't have to implement all of the functionality of modern web browsers. You don't need battery APIs, game controller APIs, USB, etc. Focus on what is important - HTML, CSS, JS.

Worst case scenario - you will learn something new.

Best of luck on this project!


I think it probably is that bad if you the approach it as this person is currently doing: not using any libraries at all. If you use existing libraries for HTML parsing, CSS parsing, layout algorithms, graphics rendering, etc, then I think I think it's doable.


Writing parsers honestly isn't that hard, especially when you have more or less step-by-step instructions for some of the formats, and test suites that independent 3rd parties have written that you can use to help verify your implementation.

Regardless, so what if it's "bad"? OP is using this as a learning experience too. If he wants to write parsers, and thinks that experience will be good for him, then he should write parsers.

I do agree that writing your own parsers isn't strictly necessary if you want to write an independent web renderer/browser. If I were tackling this project, I'd be more interested in and curious about how to write a renderer, and if there's a HTML or CSS parsing crate already written and available on crates.io, I'd probably use it.

Then again, writing a parser would also make me intimately familiar with HTML and CSS in ways that I'm probably not currently, and that might help inform how I build the renderer.


I wrote my own engine 15 years ago, when web was much much much simple.

It’s a Herculean task. What’s important - HTML, CSS, JS are highly complicated, even if you exclude other APIs.

It’s really cool pet project. But don’t expect anything usable as a result.


People inevitably will come and say this is futile because writing a browser that supports the "modern web" is just too big an undertaking. I would like to encourage you to ignore them and write a browser that works with a subset you decide to be useful and never feel bad if some pages don't work.

I know it is kind of hypocritical for me to say that, because I come from a generation that fought for standardization and against all the "This page works best with IE4", but I've come to the realization that while we certainly have progressed we've not really accomplished what we'd set out to.

Nowadays, I certainly would not refuse to use a browser just because it only supports a subset of pages and sites. Heck, a browser without Facebook and Youtube might even be a good thing.


To me the logical conclusion of what you write is not to write yet-another-web-browser, because browsers are rotten to the core by terrible protocol designs, terrible specifications, politics, greed etc. Browsers did not spontaneously start to degrade, it's what the key actors at different times did that made it happen.

The only hope, IMO, is to build something much more sane that cannot be abused. Something like Gopher or Gemini. Simple specs that make it possible for a single person or a small team to implement something decently working without them spending their like on it like Middle Age monks spent their life mapping and cataloging stars.

I would start with a feature-limited markup language that's good enough to display text - maybe images if you really insist - and leave all media and interactive stuff to external programs; if your browser ends up being a virtual machine and a universal media player, it is doomed to degenerate into a WWW browser if it ever gets popular.

But of course if one builds something that cannot be abused or monetized easily, the big content creators won't be interested. It will take a lifetime or two to gather a critical mass of users, and only if the WWW overloads abuse their power so much that the average WWW serf actively starts to look for a better place to be, and only if at this time the alternative has more and bigger advantages than drawbacks.


I remember first seeing Gemini a while ago, and thought, "cool project, but I probably won't ever use it". And I haven't. If I'd want to build a browser, I want there to be a lot of content for me out there already for me to browse.

It's funny, because I think designing a new protocol and markup language, and then building both server and client software for it, and then actually convincing millions of people to use it... well that sounds orders of magnitude harder than writing a web browser, even with all the crazy and terrible protocols and APIs I'd be expected to build.

And sure, I could set my sights lower and try to build something with much more modest ambitions, only hoping for a few thousands of people to use it -- at most! -- but that doesn't sound interesting to me. I'd still have to use the web for all the other things I need and want to use the web for. Maybe this sort of thing does sound interesting to some people. That's great, go for it!


There are HTTP to Gemini proxies/mirrors like gemini://gempaper.strangled.net/mirrorlist/ or Wikipedia mirror: gemini://vault.transjovian.org/en


The problem with gopher, Gemini, etc is a lack of people using the service. The point of a browser is to browse. What are you going to browse if there is nobody creating content? And vice versa, most people won’t put large amounts of time and effort into creating content nobody will see.

Gopher appears to have declined some 20% in content between 2021 and 2022.

I believe I’ve taken a peek at Gemini and there wasn’t much to do either.

The same problem exists for zeronet, i2p, and freenet, which is now apparently two or three separate projects?

Mastodon had a big jump in users when musk bought twitter, which tapered off significantly. They had another, smaller, jump with the Reddit fiasco. Which also tapered off.

But I guess that’s just me rehashing what you said about reaching critical mass.


> But I guess that’s just me rehashing what you said about reaching critical mass.

Yes. But one should remember that some services that are popular today started with a very small user base. Programming languages have to start from one user (starting from zero is orders of magnitude harder - if you are not the first regular user, your project will most likely fail).

One way to achieve that is to have a "killer feature" or maybe a unique combination of existing features. For instance, a subject related to browsers is discoverability and search. If you are going to compete with the WWW without funding or support from companies/institutions, there's little hope that someone will provide a search engine. This means that users will have to pay for that service with their time (that's how Wikipedia emerged). One could think, for instance, about a content tagging system that users could share, to solve this problem.


I was going to suggest something similar. Limit scope to something that is pretty (all of the pdf/ps display model?), but doesn’t support arbitrary code execution or surveillance.

Prodigy (a walled garden network like aol or compuserve) in the US tried to build this in the late 80’s / early 90’s (not with the same motivation—-they were trying to build a terminal with vector graphics for the masses).

For this sort of project, and the emotional reasoning you have for building it, I truly believe less is more.


Gemini is an interesting educational project but the lack of ability to serve even static pictures or video is an absolutely crippling mistake.


Gemini can, in fact, serve up images, audio and even video. The specification disallows inline display of such types, but it can serve them fine.


Ah. I misspoke, but my assertion is the same - the lack of inline display is a hamper.


I prefer the lack of inline display; I would rather it not display the pictures inline in the document anyways. However, that is something that the client does anyways, rather than the server. (Also, I think it does allow inline display if the picture and the document linking to it are both local files (or are both inside of a ZIP archive which is a local file), although even then it should have the option for the user to disable them.)

(Furthermore, it seem to me that Gemini is not a very good protocol for serving a video file anyways, because it does not have Range requests and stuff like that.)


This is an inspiring attitude. I used to be stuck in a rut of "there's no point starting to build / learn a thing because there will almost certainly never be a result of substance". After a while I realised that every unfinished thing results in learning, which is applied in the future, etc etc. What truly got me out of the rut was the realisation I was not only not finishing anything, I was not _doing_ anything. And one sure fire way to never finish anything is to never start anything. The corporate world is results-orientated, which is fair enough. Doesn't have to be that way all the time though - it's fun to be playful with technology.


> I used to be stuck in a rut of "there's no point starting to build / learn a thing because there will almost certainly never be a result of substance".

In my view, that's what people in power want to encourage, using crowed influencing dynamics [0].

There is an a loosely orchestrated effort to make people feel less powerful because that makes it easier for people in power (people with money or resources) to increase their self-interest endeavors.

This is why I don't watch the news, and take peoples opinions about the world with a grain of salt. Ideas are like viruses, the spread rapidly. The people with the most resources gets to set the tone about what the population thinks by using modern media to mold the narrative. If you don't understand your individual value, you will be swept into this mind set, whether you are aware of it or not.

[0]: Example https://cxl.com/blog/17-lesser-known-ways-to-persuade-people...


> This IS a pet project.

Contrary to many comments here about not creating another browser, I'd like to encourage you continue!

Once, for example Linux was also pet project. In retrospective, it's obvious but we don't know how the world will look like in a couple of years. And who could predict the success of Linux in the early nineties?


You may find this website useful: https://browser.engineering


-"I'm building a hot rod!"

-"Why wouldn't you just go hang out on the factory line at Ford instead?"


More like "I'm building a soap box derby racer!"


yes- which is usually fun and teaches you a lot!


The difference is instead of buying parts to build the hotrod you instead start by making an iron mine.

If you want to make something custom you don't need to start from scratch.


In the hierarchy of "from scratch", it goes more like "buy fast car", "build fast car from available parts", "machine own parts from stock", "make own castings from scrap metal", "mine ore and smelt it".

Just because my hot rod isn't made from existing parts does it mean I'm mining ore.

Many awesome hot rod projects involve machining from stock or even casting from scrap. What OP is doing is on this same level. He's not doing atomic layer deposition or anything. Just writing code on top of an existing OS and using existing programming languages.


I don't think he plans to build his own processors and write it in machine code.


You are going to learn so much from this project!

I have had a lot of fun implementing (much smaller) web standards. I started with ones that had step-by-step implementation guides. It was one step in realizing that the web _is ours_! We can build it at every stage, from the web pages to the standards to the browsers.

Happy building!


Good to see someone do this.

Funny I was thinking about this recently - I've been trying to push for action from regulators / government here in NL (especially wrt Google) but there was very little appetite with the people I'd need to convince to stand with me to make something happen.

Considered briefly starting a new browser. However I've had experience attempting to design a very simple OS (a long long time ago, I got a mouse/pointer working on the C64 then realised that it wasn't worth it).. and modern OSes and browsers are of a similar level of complexity.

So now I'm focused first on family (due to working insane hours the last few years they've been neglected - pretty sure you worked a little bit on the same projects so know where I'm getting at) and a bit later in the year on something where I have a >50% chance of seeing results - fixing healthcare IT here in Europe. If I can say anything it would be to remember that as a parent - especially one who wants to be responsible and present - we don't have a lot of space available for serious side projects.


(oh and my side project is a C64 emulator, also in Rust, ground up.. only said being a parent thing means I'm only at the research phase, although to the point where I have all of the resources I need to begin productive work sans the 8-16 hrs of quiet time to start coding + get the write-test-deliver loop up and running)


Ignore the naysayers, and keep posting back when you have major updates. Also keep in mind that it doesn't have to be full featured to be incredibly usable and useful. Would love to have a minimalist browser that can run HTML/CSS/JS, keep cookies/localStorage, and that's about it. Maybe an anonymous browsing mode.

I am rooting for you!


Nice! Just go for it, man! History often needs only one person. Who would have known that Guido van Rossum would write the language in which most of modern AI would be written while the servers run on some operating systems created by Linus Torvalds. Both just had a crazy idea and started working on it.


As long as you're realistic about it, have fun.

Most of us elders have seen these personal browser projects come and go these past 25-30 years. Odds and history are both against them as a long term viable project.

But as a fun learning experience it's very impressive.


i'm 45 :) I consider myself elder as well.. and yes.. i've seen many come and go as well.. I just don't think that should be a reason to not do it.


I think this project is a fantastic idea! I've toyed with the idea of writing a browser for years, but when I consider the amount of human-years that have gone into Firefox, Chrome, etc., I get scared and back off of it.

I wanted to give it a try, but it looks like main isn't building right now, so I'll check back periodically. Hopefully I will even find some time to contribute, as a Rust-based web browser sounds like a project I'd be interested in working on. One thing I'm a little bummed about is the license: I've gone back and forth on this topic a lot in the past couple decades, and more recently I have actually been releasing stuff under more permissive licenses like MIT. But if I were to work on a browser, I'd want to GPL that. For a work of that magnitude, someone forking it and making proprietary changes would be intolerable to me.

Regardless, I think there is absolutely room in the world for more than just ~2.5 dominant browser engines (Gecko, and Blink/WebKit, which I guess aren't the same any more, but have the same provenance, hence the extra 0.5). Sure, contributing to something that already exists would be "more efficient", but since when was efficiency a requirement for doing something that you believe matters?


I think a browser makes a GREAT personal project, because there are high-quality, public specifications for the stuff you need to implement. And these things are maintained in the open, you can even go and find meeting minutes if there are particular decisions you want to investigate further.

And it's not just specifications, there's test suites and reference implementations out there too. Of course it's still a huge task, but there should be no blind alleys to wander up.


Jaytaph, I really hope you can keep going and do something interesting with the work you learn from.

Reading someone else's codebase is very difficult because there's so much context and knowledge behind a web browser.

I have a very simple layout algorithm based on ORC Solver algorithm.

If you want to get to something that is useful you could implement rendering for simple HTML documents with <p>, <h1> <table> tags.


I don't know why Linus is trying to write a new OS, we already have OSes. It's not like this Linux thing is going to go anywhere.


No one said that. At the time there was a massive gaping hole in the OS market begging to be filled. OS vendors were gouging everyone, and GNU/Hurd kept experiencing delays.


Of course nobody said that. Just like nobody should be saying anything to this guy about writing a browser.


Actually Linus himself proclaimed it as a hobby that would never be big and professional:

>I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.


It’s like saying “Zuckerberg and Gates dropped out of school so why shouldn’t I?”.

Chances of replicating Linux success are as big as chances of being next Zuckerberg.

Doesn’t mean you shouldn’t do it, but align your expectations.

And most importantly, as OP said - it’s pet project. Success isn’t a goal.


Version 6 Unix was about 9000 lines of code; the first version of Linux was something similar. Firefox has 27 million lines of code. Linux has about that now, too, which is why one reason you don't see grad-school Linus #2 writing an OS and getting traction.


Did he write a blog post (or newsgroup post) in advance of writing the first version? I'm all for pet project tinkering, but seems strange to publicly make a pronouncement before starting. There's no "news" here, why is it on the front page?


On any tech forum, there's always a lot of "why are you writing your own Hello World program instead of contributing to an existing one?" energy.

As you note, the learning process itself is worth it. I'd encourage you to keep a blog / journal for others to follow.

Most innovation doesn't involve the most qualified expert in the field taking on a project that is a sure bet. In fact, qualified experts are often too cautious to try something crazy or shake up the status quo. Back in 1991, Linus wasn't the right guy to write an operating system either, and most experts probably felt we didn't need another OS to begin with. He probably should've contributed to GNU Hurd or Minix instead.


Go for it OP, the more browsers the merrier! :^)


I think it's amazing you're starting a new project. You stated two points in your blog post on this project: 1. To push back on Chrome almost-monopoly and 2. As a self-learn project.

You'll have to balance the needs between those two. You aren't hitting 1. until you have users picking up the browser. You'll be hitting 2. as soon as you start the project, potentially.

If you contribute to currently existing projects you'll be hitting 1. A lot more but may lack 2. compared to a new project.

Good luck! Btw this is reminding me of Serenity OS which includes a from-scratch browser. You should check it for inspiration :D


I loved your comparison to how hackernews is turning into TV news.

> ... it’s all negative. Companies are pushing unwanted updates, breaking all promises, raising subscriptions, and buying up companies while doing everything in their power to figure out how much more personal data they can take (away) from us. Governments are banning encryption because of child molesters (they also use vans and candy. Let’s also ban them!). People in power with absolutely no idea of how the modern world works and people in power who DO know how it works

You nailed it. Thanks for articulating this.


Great philosophy. What were the pain points so far - where's the real moat? In the not-too-distant future when we sick some AI coder programs on the problem to just mass-implement features in a banal repetitive way, which are the really complex ones they're gonna get stuck on? What are the ridiculous "this feature only exists to keep google in power" features you've found?

What made you want to make a browser instead of something much simpler like - an OS?


This site is called hacker news after all, so this is the attitude I love and welcome on here. Ignore the high-karma-naysayers, they don’t really contribute to anything.


> Yes, there are a lot of browsers out there where I can contribute to which would be more efficient. But that would result in just a few browsers instead of a lot of browsers. I'm all for the last one, as this would give people options.

IMO it's better to have few rock-solid open source systems than multitude of half-baked projects reinventing the wheel. But good luck!


I think there is a useful LLM based solution (chrome extension or something) here where you ask it (with some trial and error), to only list constructive responses, hhh. I am only half kidding, most of internet feedback is useless, even here, but the ones that matter do matter someone somewhat exponentially, so you'd want them. You can even allow it a margin of error.


> i want to know more about the underlying technical challenges.

I applaud this fundamental curiosity. We don't want a world where technologies that people use (must use) every day are opaque, proprietary solutions that spy on us.

Yet that is exactly what we have in the most popular Web browser.

I recommend RSS or just to scrape Web content (Python and Perl do this well) and read the bits that are interesting to you.


I wrote a browser in Ruby yonks ago just to see what the hard parts were. It was great fun, and I learned a lot, so more power to you.


Scratch whichever itch you may have, especially the ones you can learn from. Some itches give birth and evolve into bigger things.


If you’re doing it as a learning experience, then more power to you. But be honest with yourself about your motivations. As someone who usually takes on too much, and makes similar rationalizations, the road can be fun but it’s not going to a destination where you finish something. Don’t repeat my mistakes, examine the whys carefully.


Why does he have to finish anything? TFA even says "I don't expect to finish."

The Mona Lisa is unfinished and Leo spent 16 years on it.


He doesn’t, if he’s honestly ok with that.

But you only have so much time, why not pick a goal that is achievable? Seems like a waste.


Why have a goal?

Oftentimes it is the journey that is the most important, not the destination.


Not all journeys are equally valuable. A goal is critical to point yourself in a worthwhile direction.


"Not all those who wander are lost." -Tolkein

You and I obviously have different value systems so this thread will never coalesce.

Enjoy your travels towards your goals.


Likewise enjoy your wandering, and in your journey may you encounter a something worthy of setting as a goal, something that captures your heart.


> I think this project will not result in an actual browser.

Maybe this project shouldn't result in a graphical browser. I still think there's value in text-based browsing, in the line of Lynx. I would think there's a higher probability of creating something really useful if you were to go that route.


I just want to thank you for sharing your politics views. These are the same ideas and views, as an American, that I’m struggling with. It helps so much to know other people in other parts of the world are going through the same thing and have the same thoughts and ideas.


go for it!

The hardest part of a browser is rendering. The rest of it is easy, relatively speaking

The big problem with browsers is state. Specifically, the web page has an internal state that the developer is tracking, and the browser UI has a state that the browser is tracking. How do you keep those two in sync?

The current model is based on the sort of hack that Netscape did way back when. There are probably other ways to do it.

Specifically, the problem is: how do you give something access to a representation of the visual state (the DOM) while hiding your implementation of it...in a secure manner?

And how do you allow that client (the website) write access to that DOM representation securely and safely?


I like your list of 100 opinions. Of course, not absolutely all of them ;-) but the effort you took to compile the list. Lots of things to think about.


You could do something back then, and it’s the same only thing you can do now: work with others. Drop the egocentrism, because collective action is the only way out, and it is possible.


OP you go write that code and profile and make sure you get some real world feedback on it. I hope it DOES result in a real functional browser.


Screw everyone else, it looks interesting and fun. I'll be following your RSS updates. Good luck!


love the name ... needs a 1980's Commodore BASIC visual :-)


Shut up and hack!


Respect


I would say though that you have to pick your battles. On your path you might vanquish shitty web sites but just not being able to read them, but I think a real victory against enshittification involves breaking away from the web user interface which is some of why there has been so much bot blocking lately. It's not that people are going train an LLM on a shitty site but that you're going to get the LLM to read the shitty site for you, that is the real death of shitty sites. (e.g. agent posts your question to Reddit on your behalf, picks out and summarizes the best answer; instead of looking at craigslist every day for farm animals you get notified of the good ones; instead of seeing an ad for a Laurie Anderson concert on the bus when the tickets are all sold out the system tells you the moment the tickets go on sale...) But who knows? An HTML 5 parser is a good place to start towards that end.

I had similar motivations for developing my smart RSS reader and intelligent agent YOShInOn which has gotten me to work on filtering and "deshittification" right away as opposed to face a 1500 man x year project before getting to the stuff that matters to me.

For me the path not taken was developing a "reader" that works like archive.today, there was a summmer in the pandemic when my son and I were driving back and forth to Buffalo a lot and talking about missile defense systems and I did a "spike" project to develop something that would archive, process and deshittify web pages and I came to the conclusion that it was a long road to make something that was better instead of worse (every archiver I've seen is way slower than just browsing the page and sorry "slow X" advocates, slow = bad)

This winter I turned to the problem of end-to-end active learning for selecting articles and had great success as it. Sometime it sends me to archive.today but the goddamn CAPTCHAs never end when I use it from home so the question of the archiver/reader has come back but now that the thing has a workflow engine and could archive articles before I look at them the archiver/reader looks appealing if I can find something open source that is good enough.

There's a commercial product

https://www.getupnext.com/

which took the opposite approach of developing a reader and now they are working on recommendations. That's a path that makes sense because the reader cleans up the text which in principle is good for NLP but for what I am doing I think the signals in dirty text have enough value that I am doing just fine. They've got the issue that they're very unlikely to really develop content-based recommendation for a multi-user system because collaborative filter is such a good shortcut, also YOShInOn uses a Tik Tok style interface which for some reason has hardly been tried despite being a hit with Stumbleupon, this interface collects good negative samples and gets great results with a simple classifer... if you get a few 1000 judgements.*


What I've found when you become a nuisance but read that as successful, you'll find all sorts of problems suddenly plague you in your off line world.

So I wish you the best of the luck, but keep an eye out, the world but in my experience the US and UK, is nothing like its "public persona".


Idea -- pump the whatwg specs through chatgpt to generate the Rust code.


If it's that simple, do it yourself?


This is great. Would you be interested to add support for a custom blockchain-based DNS instead of the current centralized hierarchical mess? I've been thinking about this a lot and it's clear that a multi-blockchain-based solution would be perfect for this (and far simpler than the current system). Each blockchain could have its own top level domain. People would buy domains using the blockchain's own tokens on the blockchain itself. The browser would just discover its own peers and query any node in the blockchain to convert domain names into IP addresses. The browser could check the results against known public keys on that chain to verify that the record is legitimate.

Blockchains are great for this use case as they are infinitely scalable in terms of reads (since you can always add more nodes which are exact cryptographically-verifiable replicas). While blockchains are constrained in terms of writes, this problem is dealt with via a transaction fee which increases with demand so it is naturally DoS-resistant and doesn't require special skills or trusted parties to operate.

Anyway, the current centralized DNS system of hierarchical resolvers is also constrained in terms of writes but it feels ad-hoc with many centralized entities which are given a substantial amount of trust.


Blockchain is a solution looking for a problem. DNS isn't it.

Sorry


Yet Bitcoin's market cap is $500 Billion and has a trading volume is over $10 billion per day and has been outperforming the markets for over a decade.

If the financial system is fine, then how is it possible that a 'scam' is worth $500 billion? What kind of financial system allows such scam to exist for over a decade and keeps attracting investors year after year?

If the financial system is not fine, then how could you say a blockchain like Bitcoin is a solution looking for a problem?

That position doesn't make sense from any angle.

And anyway, I've explained clearly what is the advantage of blockchain:

- It's a system which supports unlimited reads at scale.

- Spam-resistant when it comes to writes.

- Its data can be verified independently so there is no need to trust service operators.

Those are the most important characteristics of a DNS. Sadly the current system is missing the third point and that's why nobody truly owns their domain names. Everyone is merely renting from a TLD provider and hope that the laws of whatever country it's in are going to respect your claims.


I said Blockchain, not Bitcoin.

Bitcoins "value" it that it's a pyramid scheme along time, early "investors" profit when they get out. Market cap means nothing when you run out of difficulty ;)

Anyhow I'll leave you to your delusions and get on with my life. Toodle-oo!


>I'll leave you to your delusions and get on with my life

That's easy to say when you are living in a country with access to a healthy financial system, this is a luxury, not norm.


Thankfully you don't have any idea of my (current) location.

I could be anywhere in the world. Even nextdoor to you ;)

You and GP still would be deluded however.


> Blockchains are great for this use case as they are infinitely scalable in terms of reads (since you can always add more nodes which are essentially replicas).

Oh, right. Maybe they should modify the current DNS setup to allow for more than 1 node.


Current system does have many nodes in a hierarchy but they are operated by trusted entities and there is not much fluidity. Also nobody owns their domain names; just renting from the centralized providers and you just have to trust them with everything.

With a blockchain, you would provably own your domain name and nobody would be able to change your 'zone file' aside from you since they wouldn't know your private key. I mean it would be physically impossible even if they wanted to do it illegally (or if the TLD operated under a crooked government).

BTH, this has already been done by Unlimited Domains (.eth TLD) but for some reason it still hasn't been integrated into major browsers (aside from Brave which has it disabled by default though it definitely works).


The fundamental point blockchain fans miss is that most people don’t mind having centralized trusted entities. The fact that humans can intervene to change the owner of a domain name is a feature, not a bug, at least in non-authoritarian countries.


You also need some way to, you know, recover control of a domain after you lose your private key.


IMO, not being able to recover a lost private key is an acceptable tradeoff for fully owning your own domain in perpetuity. If we encounter a de-globalization event and international law starts to break apart, we would see a lot of value in not being beholden to foreign entities operating under foreign laws.


> IMO, not being able to recover a lost private key is an acceptable tradeoff for fully owning your own domain in perpetuity

You can hold that opinion and others like it, but the vast majority of other people don’t, which is why the only applications of blockchains that have ever become mainstream are (1) buying things that are illegal, and (2) speculating on token prices.

> If we encounter a de-globalization event and international law starts to break apart, we would see a lot of value in not being beholden to foreign entities operating under foreign laws.

If this prepper fantasy comes to pass I am going to have bigger things to worry about than a foreign country stealing my domain names.


> I do not expect ANYTHING to come from this project. I do not expect to finish this project. And I do expect that - if nobody will follow me into helping the project - the project will be dead quite soon. I do not expect this project to become the dominant browser that will topple all the big players in the market.

This sounds like Linus' original announcement of Linux on comp.os.minix:

> Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-) Linus (torvalds [at] kruuna.helsinki.fi) PS. Yes – it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(. —Linus Torvalds


> it probably never will support anything other than AT-harddisks

*installs Linux on literal spacecraft*

You never know where a project will go. And in a way it doesn't matter, if you're doing it for your own reasons.


Also busy installing Linux on a spacecraft. Turns out you don't need things to be perfect, just very well documented and easy to adapt to random people's needs. Not commercialized to all fuck helps too.


Crazy to read his announcement all those years ago, and yet, here we are. Linus is still spearheading the project diligently (which is also crazy to me), and now it's the backbone OS of the internet. Almost every server room of almost every large corporation is comprised mainly of servers running Linux (or a custom internal derivative).


> Almost every server room of almost every large corporation is comprised mainly of servers running Linux

Even at Microsoft. Truly incredible.


I'm not used to this kind of negativity on HN about browsers and the open web. I think it's a very worthwhile endeavor, whether he succeeds or not. If the result is only half a browser that is not incentivized by big tech, than it can be useful for the moment my reliance on Firefox has to stop. I hope it doesn't get there because I like my Firefox very much, but I came to realize that my browser is a sort of bottleneck for me accessing the web. There are always other websites I can go to for the same content, there's also always another computer brand that I can use, but it's always Firefox in the middle. I know there are other browsers, but they always seem to be based on Googlium or whatever the name is today.

So I wish him luck and hope he succeeds. (RSS feed followed, so I can take a look at his project now and then)


> I'm not used to this kind of negativity on HN about browsers and the open web.

Really? It's a given that any thread about browsers on HN will have a dozen highly upvoted replies that claim it's impossible to make a new browser.

Even though we have evidence that it is indeed possible. Ladybird is made from scratch (originally all the way down to the C++ stdlib!) and can now run Discord (poorly) after 3-4 years of part time work (it now has full time devs).

Based on their cargo.lock, GoSub doesn't seem to want to implement everything from scratch, they'll probably use off-the-shelves image decoders and whatnot, so it has the potential of growing even faster!


Ladybird has mostly stopped those upvote parties - turns out we were wrong!


Thanks for this information and good to see other alternatives explained.


"Writing a browser" (from scratch) at this point basically means you are implementing a type of portable operating-system-in-a-box (the web platform) and that it will be compatible with whatever Google decides to add to theirs.

The browser is so comprehensive in functionality and APIs, and such a challenge to keep up with Google's constant churn of new features and total dominance, that not even Microsoft could do it.

Here is my somewhat related pet project: Tersenet. https://github.com/runvnc/tersenet It's just a concept, virtually no implementation. But I deliberately picked a set of requirements that are designed to be feasible for people to implement. Much less involved than a full web-browser. (Related discussion with GPT-4 https://chat.openai.com/share/16d02b78-f876-4c87-949a-a60b4f...)

Also related is the Gemini project which is a real thing and quite practical: https://geminiprotocol.net/ That inspired my ideas for Tersenet.


> The browser is so comprehensive in functionality and APIs

Not really. If you limit your scope by saying that you're building a hypertext document viewer, it suddenly becomes approachable. A lot of the functionality is all that PWA stuff no one asked for and no one is using for anything good anyway.

WebSQL? IndexedDB? Service workers? WebGL? WebGPU? WebBluetooth? WebRTC? Just act like it all doesn't exist. 99% of actual websites — not web "apps" — would not lose any functionality.


I asked for it, and a lot of other ppl did too. These are great features and removing them would cause more than 1% of websites to lose some functionality.

But, importantly, they shouldn't lose their core functionality (if they're written well) because that's the "Progressive" part of PWA. If you don't use the feature or your browser doesn't support it, the website should still have basic functionality. One of the big ideas behind PWAs is "progressive enhancement", where you layer on features that may not be supported everywhere but add value when they are supported.

And a progressively built browser that doesn't implement every spec goes hand-in-hand with that. I think having more under-featured browsers like that would push webdevs into caring more about progressive enhancement.


In a world where UNIX-inspired systems run most software, I like to imagine that it’s possible for a UNIX-like browser to become dominant.

Recall that UNIX (and C) were built (and adopted) in response to perceived over-complexities in contemporary systems.

Maybe in 20 years we’ll recall + interact with Chrome like how people in the 80s recall + interacted with Multics or OS/360.

To complete the analogy, I guess you’d expect to see this browser come out of former Safari interns/engineers at Apple.


> To complete the analogy, I guess you’d expect to see this browser come out of former Safari interns/engineers at Apple.

Sounds like Andreas Kling: https://www.techgamingreport.com/new-ladybird-web-browser-wh...


People interested in building browsers should look into WebKit. You can use that for HTML/CSS/JS rendering and save a lot of time/effort.


But the thing is that if I were to build a browser, I'd start from the requirement that websites should be treated like malware that can't be trusted. Applying my ideas to a preexisting enormous codebase feels troublesome.


"A lot of the functionality is all that PWA stuff no one asked for and no one is using for anything good anyway"

It is really hard to engage with your comment in a constructive way, if you start by insulting everthing on the web, that is not a simple document (with comments).

So I get it, you don't like the web as a plattform for apps. And it surely is not perfect. But do you have a better plattform independent alternative to offer?


I despise cross-platform GUIs as a concept, but if you must make one, there's plenty of options usable from most languages. Java has Swing, C++ has Qt, there's things like Flutter and WxWidgets and a dozen different GUI libraries for Rust. Heck, you can even build GUIs in Python with tkinter. Every single one of these options is much better suited for an app than the web stack.

My main gripe with using the web stack for building apps is that, unlike proper GUI framework, your platform is not made out of the same kind of code that you're writing. For example, there's a number of predefined layout algorithms that you can choose from and then control some of their parameters, but you can't write your own layout algorithm. You can kinda draw your custom controls, but both <canvas> and SVG are not without their own shortcomings compared to real GUI frameworks. A web browser is a glorified scriptable word processor so it's not surprising that it acts like one.

Yes, there are "paint worklets" and "layout worklets" as proposals. That kinda makes it better but still feels like an ugly workaround. The declarativeness of HTML and CSS, extremely awkward for building app-like UIs with, is also never going anywhere.


"but you can't write your own layout algorithm."

Of course you can - in javascript. What is stopping you? (except that you don't like it)

You can also ditch the DOM alltogether and only use the canvas/webgl and maybe your language of choice via emscripten and wasm, if you really cannot stand js/ts.

The web as a plattform is very, very powerful. The app you make, you can ship by simply sending a link. And people can just try it out without installing something and all quite save in a sandbox.

So none of your solutions are better suited than the web stack, if you intend to target the maximum audience with the minimum hazzle. You have to beat that, if you want to overcome the web.

Also, can you give me one example of a nice looking app in swing? Websites are optimized for enabling good UI and UX. Because the moment a user is confused - he is gone very quickly. And people can also customize their experience. I use dark reader and ublock.

HTML and everything around it is often a ugly chaotic mess, but a incredibly powerful one.


> Of course you can - in javascript. What is stopping you? (except that you don't like it)

If you mean by setting `position: absolute` and then using left/top/right/bottom to position your element, that won't work. You can't plug your code into the browser's layout dispatching mechanism to correctly react to size changes, reflows and all that. You can do that in any native UI framework.

> The app you make, you can ship by simply sending a link.

Depends on what it does. If it needs to store data locally and/or work with files for example, doing that on a website that runs in a browser is a pain in the ass both for the developer and the user. Last time I checked, if you want to generate a file for the user to save, you have to encode it into base64 and "open" it as a data: URI. Isn't that utterly bonkers?

> Also, can you give me one example of a nice looking app in swing?

IntelliJ IDEs.

> Websites are optimized for enabling good UI and UX.

Is that the reason there's so much whitespace everywhere these days? Is that also why all controls are so confusing that you sometimes have to try interacting with them to understand what they do?

> Because the moment a user is confused - he is gone very quickly.

Not everyone's goal is to simply have as many users as possible.


"If you mean by setting `position: absolute` and then using left/top/right/bottom to position your element, that won't work."

Erm, but it does? You can listen to resize events and you can get the exact width and height values of all the elements in the DOM. I am using that technic since I switched to the web (when box layout did not exist yet).

The only problem with this is, that you can create performance bottlenecks easily, as reading clientWidth might trigger a forced reflow. So it might not be easy at first to get everything right, but it is totally possible.

Also you can just use a different GUI framework or build your own.

"Not everyone's goal is to simply have as many users as possible."

Mine neither, but those who do (the majority) made sure, the web is suitable to be used by even the most tech illiterate people. My mother can surf the web to get mostly what she wants - but she cannot use a file browser, nor does she really know what a file is (and she does not want to know).

"> The app you make, you can ship by simply sending a link.

Depends on what it does."

Sure, if you want native file system access, you would be breaking the sandbox. And yes, this is my biggest pain point with the web as well - that it often cannot decide whether it serves untrusted websites or enables app developement where the user trust the app. For example there is no (easy) way to get the pixel data from html elements, because of security. Which makes sense for malicious add filled websites, but not when developing something real, where the user could give permission. Here the focus on the dumbest users who just all allow everything, so the browsers have to protect them and allow no one to use proper permissions is really annoying. Because yes, I also would just like to have file access and other things permissions don't allow.


Forget all of that. If you can run actual video games in a browser at 120fps, you can definitely achieve pretty much any UI/ux you can dream. Obviously, within resource constraints. But I don't think there's many UIs you can build that are reasonable and slow on the web but fast in Java swing (or whatever other UI framework you're using)


"PWA stuff no one asked for"

You don't speak for everybody.


I've yet to see someone take a PWA seriously.


Aren't you the developer of Smithereen (a fediverse server)? Nearly every other fediverse software has a web interface that can act as a PWA. I launch lemmy.ml and kbin.social as standalone PWAs from my homescreen. My pleroma instance also has some PWA features (though not standalone display mode). I don't use Mastodon, but @nolan@toot.cafe did some amazing work years ago to make it a really fast and responsive PWA (which has since been undone ).

It's ok if you don't like to use PWAs but that doesn't mean nobody does or that they're worthless.


> Aren't you the developer of Smithereen (a fediverse server)?

I am. But I'm biased because I'm primarily an Android developer who turned into a web and backend developer for some projects (I still do Android as well). So naturally, web app (not web site) development feels cumbersome to me. It's like trying to build a proper app UI with a souped up version of Word macros and layout engine. I much prefer native apps. Smithereen will have a client API eventually, when all features I deem necessary for version 1.0 will have been implemented. The large remaining ones are photo albums and discussion boards in groups. The yet-unreleased direct messages need some finishing touches as well.

> It's ok if you don't like to use PWAs but that doesn't mean nobody does or that they're worthless.

Well, that's my point — Chrome and Firefox and Safari, being "mainstream" browsers, try their best to satisfy everyone. They support PWAs, they have extensive accessibility support (that's scarily complex as well!), they implement all those APIs and standards that are complex but mostly unused, etc.

If I were to build my own web browser from scratch, it'd have a warning in the readme along the lines of "if you require accessibility and/or PWA functionality, this is not for you, use one of the more advanced browsers".


I’ve written many business process apps that are PWAs.

Install to homescreen is great for customers that don’t want to go through the app store yet still want their employees to have “an app” (something with an icon on the home screen).

Some are even offline-capable.


I've seen (many) people use and appreciate Google Maps, for one


You've never met anyone who's used Slack, WhatsApp or Airbnb?


As PWAs?


>99% of actual websites — not web "apps" — would not lose any functionality.

What percentage of user driven web traffic is done through 'web "apps"' and what percentage is 'actual websites'


IMO most of what people do on the web is either reading articles (these don't even need JS), watching videos (no advanced browser functionality needed either), or writing comments and messages (some rather simple JS if any).


No true websites use service workers, just like no true Scotsman puts sugar in his porridge.


Yes, if you arbitrarily define “Web site” to exclude most Web resources it is easy to declare victory. Maybe you can even have fun browsing some archived versions of Geocities pages.


> no one asked for and no one is using for anything good anyway

Speak for yourself. This is a crappy attitude honestly, you might want to keep an open mind on things you don’t have an interest in


I mean, LadyBird is extremely young and coming along at a pretty decent pace. Though, to be fair, the main author does have some extensive experience in the realm.

I, personally, would love to see some alternative engines to the monoculture of Blink and it's WebKit cousin, other than just Gecko/Quantum. Something to take the place of what KHTML used to have before being gobbled up into WebKit; or just another (ideally, open source) choice to experiment on.



Well, there's Servo [1], which I have high hopes for.

[1] https://servo.org/


I was interested in Servo, but its website is exasperating - any idea where I can find info on what HTML, CSS and JS standards it supports?


Quantum (mentioned by parent post) is what Firefox calls their Servo bindings.


Apart from Servo and Ladybird, there are also: NetSurf, Ultralight, Ekioh Flow.


> and that it will be compatible with whatever Google decides to add to theirs

There are plenty of respectable people who maintain "home pages" with much simpler HTML than what is possible, and news.ycombinator.com gets a lot of love for keeping its classic look.

All this to say, I'd like if the people who have a lot of overlapping agreement on this would agree on a subset to use, and I'd be happy with a browser that didn't do everything google's did.

I run with uMatrix which shuts off a lot of google functionality, and I never whitelist google.com domains just to prove that I don't have to, the world doesn't end. It's a relatively small number of sites that just won't work.


I have a similar idea of a minimal html browser, which was dismissed by the gemini authors. Should be reasonably doable if you don't implement all web 2.0. No css - user decides appearance, no javascript - it would require full web 2.0 anyway, and a bit of webcompat, start with <div>, <p>, <a> and there you go.


I would not want a simple browser to replace gemini, but I would be happy to use a simple web browser in addition to gemini. It would be nice to only have to fire up a big bloated real browser for doing banking and such things.


Yes, in addition, maybe even 2in1. As a quick hack gemini can be converted to html on the fly.


Isn't it called `netsurf` already?


> "Writing a browser" (from scratch) at this point basically means you are implementing a type of portable operating-system-in-a-box (the web platform) and that it will be compatible with whatever Google decides to add to theirs.

I'll bite... why? Most websites follow HTML and ECMAScript. Why do you need to do anything Google does? Isn't the whole point of this project to decouple from what big tech companies do?

The vast majority of websites don't want to follow whatever Google-only shit they've come up with most recently, whether it's adtech, AMP, DRM, or whatever.


Study the Microsoft and Firefox projects to see why it turns out that way.

The basic thing I am saying is that if you call it a web browser and use the same core protocols etc., you have a practically infinite (for an individual) set of requirements to implement and will never be truly compatible.

What ideas like Tersenet and systems like Gemini propose is similar to what you say, except even simpler. HTML and ECMAScript are quite complex and have a lot of challenging expectations as far as performance and flexibility.

The idea is to try to break things off in a clean way that is feasible to implement without having to worry about a fuzzy and ever-expanding definition of what you have to support.


> The basic thing I am saying is that if you call it a web browser and use the same core protocols etc., you have a practically infinite (for an individual) set of requirements to implement and will never be truly compatible

But what the parent is saying is you don't have to be compatible with 100% of websites. If you build a browser with good HTML/CSS/Javascript handling, you'll be compatible with the large majority of the web. Yes, there are other specs that are in use by a tiny portion of the web. But your browser can still exist if it doesn't support them. Users of that website will know or find out that they can't use your browser for that, but for every other user that browser could be exactly what they need.

> without having to worry about a fuzzy and ever-expanding definition of what you have to support.

It's only ever-expanding if you're trying to keep up with the Jones's. You can define a subset of the web you want to support and build a clean, small browser that supports that.


> If you build a browser with good HTML/CSS/Javascript handling, you'll be compatible with the large majority of the web.

Will you? I very much doubt this is the case.


> I'll bite... why? Most websites follow HTML and ECMAScript. Why do you need to do anything Google does? Isn't the whole point of this project to decouple from what big tech companies do?

Because Google is following the old Microsoft playbook of "embrace/extend/extinguish". They throw shit at the WWW consortium partially to see what sticks, but also in the hopes that websites will adopt the shit, forcing other browsers to add the shit to be able to display those sites.

Google is incentivized to do this because, since nobody else can keep up with the shit-flinging, users switch to Chrome. Then Google gets everyone's data for free, further strengthening their monopoly.

That said, I fully support people trying to build new browsers.


Am I wrong in thinking the only thing we're missing for a rich ecosystem of browsers is a modular, independent Javascript runtime/interpreter similar to Java? Java has a bunch of JVMs: https://en.wikipedia.org/wiki/List_of_Java_virtual_machines

Maybe we need Mozilla (and others) to make an independent Javascript "VM" that everybody can use.



Mozilla and Google each has one, both open source (iirc). NodeJS uses Chrome's, even.


That's V8.


> The browser is so comprehensive in functionality and APIs, and such a challenge to keep up with Google's constant churn of new features and total dominance, that not even Microsoft could do it.

I always suspect that it's not that they couldn't do what you describe per se, it's that they couldn't do that within other shareholder driver parameters to make them want to do it.


They just realized they didn't really needed their own rendering engine. It would have been a nice to have, like in the old days of IE6, where they could decide over the direction of the web.

But more valuable to them is that people are using a browser they control (no matter the tech within) - which is why they try to push you to edge however they can.


Well, sure, if they were happy to burn money with no tangible result they could probably keep going as long as people are buying other MS products.


related, a subset of html supported by Qt: https://doc.qt.io/qt-6/richtext-html-subset.html


also, a related HN thread about minimal subset of HTTP and HTML: https://news.ycombinator.com/item?id=23731606


You're wrong about a few things. (1) A browser isn't an OS at all, it's a Javascript runtime and a constraint solver (to put all of the boxes in the right places per the CSS inputs). (2) Google doesn't constantly churn the web world anymore, they still do try, but it hasn't been effective for quite some time. (3) Microsoft was keeping up with web standards just fine, but they were falling behind in performance, and that's why they switched to Chromium.


> they were falling behind in performance

They were only falling behind in performance on google’s web pages such as youtube. Read that comment: https://news.ycombinator.com/item?id=18697824


If a "hidden empty div" is all it takes to break your browser's performance, I'm sorry, that's just not impressive.


You are picking the least important detail of the story. The deal is, Google found a simple way to kill the performance of a rival browser... so they exploited it and immediately started advertising how slow the rival was. By the time the rival fixed the performance issue, the damage was done. If true, that's pretty dirty, and it directly contributed to the growing browser monoculture.


This is a wild conjecture. Whatever happened to innocent until proven guilty? The fact they jumped on it means that someone was paying attention to these metrics, but assuming chrome has any influence on YouTube is laughable.


People are innocent until proven guilty. Corporations are driven by greed and profit until proven otherwise.


That's just a trite saying, that doesn't logically follow. "Driven by" is not the opposite of "innocent". If you want to blindly believe what random people say on the internet, simply because said thing was said about a corporation you dislike, that's fine by me. But don't get frustrated when people prefer to look at the available evidence first, and the available evidence is an (alleged) div breaking Edge around the same time as an (alleged) announcement that Chrome was faster. Also the original poster admits that they aren't 100% sure it was related. But you are, I guess?


> "Driven by" is not the opposite of "innocent"

I agree, that's why I didn't say driven until proven innocent. I'm just pointing out that the concept of innocent until proven guilty does not apply, as we have no moral imperative to treat corporations fairly. We're not claiming that any person at Google did something immoral, but that the structure of the corporation resulted in an immoral act. An 'unjust conviction' (so to speak) would not result in a person being imprisoned without cause, so we are free to make the most reasonable decision without the burden of "beyond a shadow of a doubt".

For the record, I'm still not claiming that it was 100% done intentionally, I'm just explaining why I'm inclined to believe something based on circumstantial evidence. Courtroom procedure is designed to protect people (in a perfect world), so I'll only adhere to it if there's someone to protect. I don't think Google is deserving of my, or anyone's, protection.


Well, you'll find it hard to argue with people if you let your philosophical beliefs get in the way of finding common ground. Many people don't agree that "innocent until proven guilty" does not (philosophically) apply to corporations.


I would be skeptical too if it was just a one time thing, but it wasn't. Around the same time as that HN comment, YouTube rolled out a redesign of their frontend that used the Polymer framework. At the time, Polymer depended on a deprecated web standard that was implemented in Blink and WebKit and used a polyfill elsewhere. This completely killed performance on Firefox and Edge. That isn't unsourced or anonymous information like the invisible div. You can search back and find people complaining on multiple forums that YouTube started running at a crawl out of nowhere and ID'ing Polymer as the culprit [1, 2, 3].

[1] https://hub.packtpub.com/youtubes-polymer-redesign-doesnt-li...

[2] https://news.ycombinator.com/item?id=17612139

[3] https://www.reddit.com/r/programming/comments/91i0mc/youtube...


I have no idea if the story is true or not, hence the "if true" clause in my post. I was just pointing out that focusing on the technical aspect is missing the point of the story... the degradation could have been triggered by any number of things, the point of the story was the allegation that Google purposely triggered it and disingenuously used that degradation to claim their browser was faster.


This isn't a court room.


[flagged]


At least make your own argument, don't ask ChatGPT to do it for you. ChatGPT is really stretching to make your point though, as you can see from the laughable use of the phrase "Another striking resemblance between browsers and operating systems" after just listing a bunch of web APIs that no one cares about. (WebVR? Get out of here...)


[flagged]


Please make your points yourself. Generated comments aren't allowed on HN and we ban accounts that post them.

https://news.ycombinator.com/newsguidelines.html


Ok. Sorry. I do find comments that are obviously AI-generated to be annoying also. I know you are busy, and please don't take this as some kind of back talk. I just think it is worth a moment of your time if you can get a little bit more detail on this issue from this "incident".

But just to clarify, this is the first time I have generated a comment, and it was a collaborative effort between me and GPT-4 that lasted like fifteen minutes. It wasn't just a lazy "here is the comment, reply to it".

I was trying to make a better comment. In particular the point I was trying to make was about the sheer scope of web platform functionality and APIs. Which there are so many web APIs that I was using ChatGPT as a research tool. Even GPT-4 said "wow, I can't list _all_ of the APIs, there are too many of them".

Also, I don't see anything on that guidelines page that says anything about AI-generated content being disallowed, so you might consider updating it.

Also, how do you determine if a comment is AI-generated or not? Because the previous version which I had asked it to refine to be in my voice was closer to my writing voice but actually less substantive.

So I had a slightly worse comment ready to go (didn't make the point as well) but I decided to reply with the comment that was better even though it was easier to detect as AI-generated.

I don't think you would have threatened me if you really wanted me on the site. I make a lot of comments on HN, probably spending too much time on here. And I can be fairly, lets say, bold about the content of the comments.

I do remember a recent incident where someone was advertising that they would spend two weeks to build out a basic chatbot for a minimum of $10,000. I can guarantee that person was hoping to spend a half-day or less if they found a customer for a truly simple bot. So the advertisement and business model was dishonest and borderlining on a scam because it misrepresented the time and effort involved and deliberately overcharged for a simple project. That's why I commented on that post.

But I understand that you don't have time to try to parse out how some comments that are obviously on shaky ground might be warranted in some cases.

If you do ban me then I will miss HN. But also, if I am investing a lot of time into this and the comments or submissions aren't appreciated overall, then even for myself, I should reevaluate the use. Maybe socializing just isn't for me, even on a web forum.


As another person who had no clue about how "real" browsers work but still decided to write a browser[1] (with a custom layout engine and whatnot): go for it. It is a very rewarding experience to see websites rendered by your code, no matter how awful that code (or output) may be.

I'm about two and a half years in, now my project can render HN and simple blogs reasonably well. Is it objectively better than w3m (that I was going to replace)? Not exactly, so I still return to w3m for some tasks. But I've found use of it for tasks that I didn't even think it would be useful for, learned a lot about programming in the process, and find it cool that it works at all.

[1]: https://sr.ht/~bptato/chawan


Writing a browser means writing a rendering and layout engine. That's a pretty tall order, not that you can't do it.

But there's so much you could do that would be more likely to be fruitful. Port Servo to Nyxt Browser. Fork WebKit or servo or gecko and pull out the invasive web standards that have been injected by the ad company over the last decade that hurt users. It's all work you're going to have to do anyway building from scratch, might as well not start at the bottom and start with an existing community of people already willing to work on it with you.


That's what I did with WebKit [1] because it turns out servo is not as modular as it was before. And Gecko is the definition of monolith, so removing the attack surfaces is impossible, even TOR has a crappy replace-with-stubs approach that breaks with every internal API or bridge change.

Need contributors and other maintainers though, because keeping up with upstream is impossible as a single dev.

I tried to document the attack surfaces [2] from my cyber security perspective as good as possible, with tasks left to do and which need to be eventually removed. It's probably pretty opinionated because I want to use RetroKit as the webview for my own Browser Stealth which acts as a filtering proxy, scraper and decentralized cache [3]

[1] https://github.com/tholian-network/retrokit

[2] https://github.com/tholian-network/retrokit/blob/main/SECURI...

[3] https://github.com/tholian-network/stealth (ongoing rewrite in golang)


I maintain a web layout library that is designed to be integrated into other software:

https://github.com/DioxusLabs/taffy

It needs to be combined with a text layout engine (such as https://github.com/pop-os/cosmic-text), and it doesn't support everything yet (notable features that are currently missing: "float", "display: inline-block", "box-sizing: content-box", "position: static"). But we have Block, Flexbox and CSS Grid support with more on the way.


Honestly, although it's a heavy task, I don't think it's something worth being dissuaded from. I would argue that, in some ways at least, it's easier to do so today than before since we actually have a comprehensive standard now.

That all to say, yes it's a tall order. But it's not the most impossible thing for a small team of dedicated people to do.


But I mean your rendering and layout engine don't need to pass all ACID tests out of the gate, right? You build it up gradually. You start by getting reasonably simple HTML websites to render. There's no rush, and there's no hard and fast rule saying you have to implement every corner of the standard.

Web browsers and the web are gloriously human.


> Writing a browser means writing a rendering and layout engine.

Only if you want to write one from scratch. One should remember that a Browser is mainly the userfacing application, not the gears it's utilizing. You could take existing engines and just plug them together, maybe modularized enough to switch them any time, and it would still be a proper browser.

And personally I think, people here are too focused on the gears any way, while we really need better interfaces and other gears besides render/layout/scripting.


I encourage you! Keep at it!

I have implemented a very small part of the ORC Solver algorithm in Python and used wxWidgets for rendering. I used wxWidgets text extents API to work out width of text.

This is the ORC Solver whitepaper. https://yuejiang-nj.github.io/Publications/2020CHI_ORCSolver...

I have been thinking about branch and bound and how to implement it. Any information would be appreciated.

I think I should study the TeX codebase for typesetting algorithms. I also really enjoyed using javascript library Masonry for layout binpacking.


"My HTML? If you want it, I'll grant it! Search on! All the world had to offer, I left in that place"

"And so hackers set sights on the HyperText Line, in pursuit of their dreams. The world has truly entered a Great Browsers Era!"

After years of believing that browsers were an insurmontable mountains, more and more people are believing we can do it. My 2 seconds analysis tells me that we're seeing this not because new browsers makers want to emulate and compete with the existing mammoths, but because they want to change the web. I'm loving it.


On the political note of the article: yes, the world is fucked up and it is exhausting to only read fucked up news. I personally believe that disconnecting from reality and becoming 'apolitical' implies giving up on humanity; that is giving up on your kids, nephews and the children of your best friends. No need to change the world, a small change in your community is more than enough. Specially as coders, what we build can impact and influence thousands of people all over the world. Sometimes I wonder if things would be different if we all invested 3-5% of our time in supporting our communities and engaging in some form of activism.


I don’t follow the news at all because it’s 99% biased garbage and frequently not true and pollutes the mind. My life and mental health is significantly better for this. Nothing I read in the news would change how I vote, which is basically the best reason anyone could give for watching it.


You can afford not reading news only if you live in a democratic country with a stable economy, far from any conflict zones. In other parts of the world, you would miss information that you need for your survival.


Even in that country - if you’re a woman you need to know if you still have rights regarding bodily autonomy (e.g. abortion). If you’re queer you need to know if you’re allowed to dress a certain way (anti-drag laws) or express public affection, without being arrested.


I mean everyone needs to knows the law broadly, and the specific laws that may impact them.


Definitely yes to community engagement. Shovelling the snow outside the house of an elderly neighbour is good because it's actually doing something.


I agree, mostly. I decided years ago to stop listening to the news, but that was only after I decided to not have children. It seems wrong for breeders to stick their fingers in their ears.

I have given up on the world, as you put it. But other people's children is not my fault. I do as much as everyone else does to "do the right thing", but no more than that. I used to think about all these things, try to minimise my personal footprint and think about sustainability and future generations etc. But I lost hope. I was fighting the tide. Now I just try to make sure my footprint is not above average and try to be good to the people around me.


Fair enough, as someone sometime somewhere said "you only have control over your actions and your thoughts".


Disconnecting from the news industry does not automatically imply disconnecting from reality. At least I hope so as I consume non-technical news maybe once a week.


You would be insane to think anything on the news was connected to reality.


If Rust is a must, surely contributing to Servo[1] and learning by sending small PRs to start with would be more beneficial.

However, I do understand as I've done this kind of "from scratch" project before just because I thought I could do it better or because I couldn't get into reading the existing codebase easily. To each their own...

[1] https://github.com/servo/servo


Writing a toy version of a program is a great way to understand the big boy version.


Rust and Servo started out together, which means Servo had a lot of pre-1.0-Rust code written, affecting its style in some less than ideal ways.

Similarly, Servo was designed to replace parts of the Firefox browser, which means that it had to be made to fit into "Gecko shaped" hole. For example, it uses UTF-16 strings in many places for compatibility with the rest of Firefox.

Servo could probably be rewritten now using modern Rust to be smaller, leaner, and maybe even faster.


Servo is an amazing project and I love everything Mozilla has done, but it's also financially coupled to Google, right?


I learned only a few hours back that entire Servo team was let go by Mozilla [1] and the project is now a part of Linux Foundation. So, I think, Servo has no direct/indirect ties to Mozilla/Google any more.

[1] https://en.wikipedia.org/wiki/Servo_(software)#cite_note-202...


Nope! Servo is no longer a Mozilla project. Development has been taken over by Igalia.


I really want to experience a happy medium between the barebones minimalism of Gemini and the insane free-for-all of the mainstream web. In my mind, there is no reason for every website to dictate its own layout and appearance when 99% of sites could be broken down into procedural elements that could be rendered however the client preferred.

I recently bought a Kobo ereader, and the gorgeous, text-focused, crisp design of the OS is what got me thinking in this direction.

The existence of Reader Mode in Firefox and Chrome points to a common understanding that, for articles anyway, most of the web fluff is totally unnecessary. Imagine Reader Mode, but maintaining navigation and slightly more complex layouts. There are plenty of extensions that allow you to theme specific sites, but I haven't found any that try to create a unified, pleasant experience from the current chaos.

As usual, the ad-based web can be blamed. The argument that it is of utmost importance to preserve the ability to make this button 5px bigger than the other, rounded, and blue, only makes sense if you're an ad-based company trying to manipulate people into specific behaviors. By leaving the design client-side we would enable experiences tailored to providing the best experience for the user.

I don't know if or how we could ever get there, but it seems to me that mass adoption of css and Javascript in the majority of websites was a mistake, when most sites could easily be built of a much simpler set of standard widgets. This need is currently filled by pages hosted with hostile third parties like Facebook, or middleware editors like squarespace.

This kind of framework would also give online privacy to all in one fell swoop. There is no reason browsers need to be finger-printable. The reason they still are is because the company for which this state of affairs is highly lucrative is also the company making the leading rendering engine.

Perhaps what I'm actually asking for is a splinter net, or maybe something like this is still achievable by just parsing html.

While I relate to OP's fed-uppness, building a browser seems to me like trying to play catch up to a system that will never have your interests at heart. Not that I think the project isn't worthwhile, it just triggered the above thoughts.


> I really want to experience a happy medium between the barebones minimalism of Gemini and the insane free-for-all of the mainstream web.

I agree. I often find that some formats are too simple and the rest are too complicated (for example, this is the case with the Ogg container format, and also with Gemini file format and Gemini protocol), and sometimes other problems.

> In my mind, there is no reason for every website to dictate its own layout and appearance when 99% of sites could be broken down into procedural elements that could be rendered however the client preferred.

I agree that too. Often I just disable CSS.

I think that ARIA might be able to help a bit, together with HTML. (This way, nonstandard form fields can still be displayed even if the styles are disabled, if those nonstandard form fields are using ARIA, which is something that I sometimes see.) (It would be better to just design it properly the first time, but that would be difficult when everyone else does not want to do it in a better way, although using a common accessibility feature such as ARIA seems more likely to me.) So, a client program can include a mode to display the document using HTML and ARIA instead of CSS.

Rendering just how the client preferred is also making it more portable across different screens, etc, and better accessibility, than using CSS and then having to make separate mobile version and those mess.

> it seems to me that mass adoption of css and Javascript in the majority of websites was a mistake,

I think you are right. I sometimes write web pages that do not use CSS and JavaScripts (although often I will just write plain text instead of HTML, anyways).

> building a browser seems to me like trying to play catch up to a system that will never have your interests at heart

There are some features that I would want to deliberately exclude (or implement in extensions instead of the core features), and some that may be helpful to be deliberately differently. (Actually, I would move many core features into extensions instead, and some features that would usually be implemented in extensions (such as request/response overriding) into core features. Flipping around many of these things might help a bit, too, I think, to allow more versatility for extensions, better security, and better user controls, etc.)


Yeah this is an underrated position at this point in the history of the web. Back a decade or two ago, people were experimenting with cool graphic design layouts and UI flows and new experiences were always popping up. Now everything is converging on a few CMS layouts and the entire web is just one big SEO grift. I think http has largely run its course.


As yet another would-be browser developer, thanks for this take. The thing that always puts me off is the insanity that comes with supporting all the ways to style content.

So throw that all away

A Reader Mode Browser with some small quality of life features seems like the perfect project. Thanks stranger


Thank you, you've encouraged to make some mockups to try to bring this idea a little closer to reality.


Reader mode sure looks an awful lot like the Lynx browser, which was HTML rendered in VT100.


I can relate. I have also stopped following the news, and almost all social media as well. I don't know if it is an age thing, or just the state of the world. But the past year, opening a news site have given me stress symptoms. And news sites love to feed it. Someone burns a koran? It is only news if it is reported. If someone does it in their basement alone, it would not matter at all. But instead it becomes a global shitstorm which I can't do anything about except be careful in crowded places.

Better to stay home and program. This + ChatGPT have made me more productive than ever before.


Plus all news are biased one way or another nowadays. It doesn't matter if you're left or right, the news you're getting is spun in a certain way to push whatever narrative your particular media outlet wants to push.

This, in combination with their incentive to make everything seem like a huge problem that might lead to the end of the world, is a pretty toxic combination.


>Someone burns a koran

You should look up who gives money to people who do that, and what political movement they represent. You should then look up this book [0] and who also gets money from the same group of people. I'm sure a lot of things would become more clear to you.

[0] https://en.wikipedia.org/wiki/Foundations_of_Geopolitics


Be careful what you wish for. What if the news didn't report on corruption? Because you can find a whole lot of places where the news won't do that, and you'll know it only from gossip or involvement. What if the news didn't report on tragic events? Let's say a natural disaster or a horrific crime happens in your community, and the news media is just silent, pretending like nothing happened. I bet a lot of people would think it very strange if news media didn't report on these negative events, or if international news didn't report on the war.

> Someone burns a koran? It is only news if it is reported. If someone does it in their basement alone, it would not matter at all.

Yes, of course. But that's exactly what a protest is. It has nothing to do with the burning of the book itself, and everything to do with doing it in public and letting people know. Even if you live in the most rigid dictatorship, you can criticize the president as much as you want in your own basement. It becomes something completely different when you do it on a public square with a crowd watching or participating. But still there are those who want to make what happened in Tiananmen in 1989 become not news. Then it wouldn't matter at all, as you wrote.

As for Quran burnings, a person in my country - that is not Islamic - was sentenced for spitting at and burning the Quran as a protest against a recent Islamic massacre against people in his group. Imagine the situation: Your people are being killed because of a holy book, but you are not allowed to protest against that book. In that case the news media chose to be silent about the protest and about the sentencing of the man. Just an example.

The bigger problem with news media in my opinion is delivery. I can't stand any TV news, because the way the reporters talk is just sickening. They have adopted this kind of venomous and angry voice that just reeks with contempt against the viewer. I remember many years ago I had been out on travels and spent months far away from TVs. I the airport there was a TV with CNN on broadcast, and I was just shocked at how hateful the voices and demeanor of the presenters were. Like, why would anybody voluntarily watch and listen to this? But if you're used to it you might not notice.

But focus on negativity does also get exaggerated in TV news, such as when they are showing clips of traffic accidents far away, or floods in foreign countries that have floods every year, as well as murders in foreign countries that have no international impact. I think it is like you say to keep people in a negative mindset, because that makes them weak and ready to be influenced, not least by advertising that promises to make them feel good if they just buy this product.


I am not against news. It is vital in a democracy with a free press. But that does not mean I need to take part of it daily, or many times per day even. There are lots of news I would rather have a weekly or monthly summary of rather than day-by-day developments.


I got so fed up with enforced media in general.

It may be news, the preview movies on a Disney DVD, commercials, advertisements, billboards and whatnot. I absolutely hate enforced media. I do know it pays the bills/makes other things cheaper because of its revenue, but i stopped caring about those business models a long long time ago. They are all in it for the money and nothing more.

I will pay for products, as long as they leave me the f alone. No enforced "you should try this or buy that!" stuff. So i use pihole, duckduckgo, etc. It is my infrastructure and i will use it as how i see fit.

I eagerly await this browser.


I could have written this, except for the being a good enough programmer to write a browser that is. I wonder if the author has heard of the ladybird browser? https://ladybird.dev/


I wonder why Shopify is sponsoring them...


“Ladybird is a love-letter to the web, and proof that open technologies enable innovation by organizations of all sizes. Shopify grew up on those technologies, and proudly contributes to them. We’re excited to add Ladybird to the set of projects we support.”

Pretty cool of them to contribute $100k to the project.

https://awesomekling.substack.com/p/welcoming-shopify-as-a-l...


“Ladybird is a love-letter to the web, and proof that open technologies enable innovation by organizations of all sizes. Shopify grew up on those technologies, and proudly contributes to them. We’re excited to add Ladybird to the set of projects we support.”

From https://awesomekling.substack.com/p/welcoming-shopify-as-a-l...


Of all the passionate reasons one could imagine a person needs to feel compelled to write their own browser, this was quite unexpected.

I guess if news affect your mental well-being negatively it is legitimate to avoid them. But I would believe a day long session with the blocklist of your choice would be better?

Or just accept a certain degree of news, in the end you live in a world with other people who read news and unless you are a hermit things are going to come up eventually. Reducing can be better than attempting the impossible and fail.


> I do like to follow tech news, and for me, this is done 98% through Ycombinator’s hacker news. But I started to get the same feeling I had ten years ago: it’s all negative. Companies are pushing unwanted updates, [...]

My recommendation is to go to https://news.ycombinator.com/newest and try to find personal projects and other interesting post that need an upvote, and perhaps make some comments to the author. I like more the discussion when there are 10 comment than 100 comments.


I think that regardless of whether this project has any chance of succeeding, it's worth pursuing for at least this reason: practice.

I'm a firm believer in the idea that no matter how much experience you have, you should practice.

Every skill that isn't practiced wanes over time. Commercial projects usually don't provide the sort of regular stimulation needed to improve one's abilities. Sometimes it's not even enough to maintain them.

Even if they do, you should probably not rely on that, because it leads to design decisions that scratch that itch instead of getting the job done.


I wrote a couple custom browsers for both pro and personal reasons. I found out that there is a tiny niche market for a privacy-focused, minimalist browser that a) does not understand cookies, b) executes JS only when allowed to and c) is capable of displaying most decent Web sites without garbling them. I had good success with using Chromium as backend, and slowly adding the stuff we do need (download manager, password vault, auto-complete). Turns out it's quite easy to setup, but there's one annoying chunk: dealing with creating tabs or new windows. 'Modern' Web sites use and abuse that mechanism to display pop-ups, and it's quite a challenge to handle. Good luck to ya!


> I found out that there is a tiny niche market for a privacy-focused, minimalist browser

You mean like Orion by Kagi, Mullvad Browser, Brave, Falkon, Safari, DuckDuckGo Privacy Browser, Firefox Focus, Midori?

I feel like the best browser in this market has yet to show itself.

I doubt it will be one where the author claims it will fail.


"just a hobby, won't be big and professional like gnu".

At the start of a project, it can be difficult to know if it will snowball, and since most projects don't, creators often feel like they have to get in ahead of the negativity and set expectations.


Making a browser is a big undertaking, and I would set the same level of ambition. And then I wouldn’t post it on a forum until it has reached a milestone. :-)


If you used Chromium to "write a browser" then in no way did you write a browser. You wrapped Chromium.


There's a joke about the latest wave of "AI" companies in here somewhere...


Yes agreed, I meant writing a wrapper. Writing a browser engine isn't my cup of tea :)


Is your work open source?


I really feel this: I wrote my own photo roll app PURELY because I wasn't able to find a decent photo roll app which just let me simply tag my images (all of them let me use create albums but sometimes, you want an image in two albums??) so I had to do it myself. I was angry - and I could do something about it. And that was enough.

I applaud the effort and wish you the best luck - also I imagine myself eventually joining you in my own attempt too :P


What an interesting article. For me I can relate to the central tenet of trying to exert control over the level and kind of content I consume on a daily basis. I’m sure that will help mental health.

The Twitter clients of years past have shown how using filters and regexes, muting and blocking, it is somewhat possible to shape this content stream. Also I think local AI has some power to weed out content it can detect would negatively affect you.

I think though this would work well as a feed reader, the browser is simply too flexible as a source of input. Although it’s certainly worth trying, bravo!

I’ve experimented with a “feed of feeds” and receiving a daily digest of this and this could be the layer on top that it needs. But until this article I had not realised my motivation for it, so thanks author!


Unfortunately, everyone who provides these big feeds (Reddit, Twitter, et al.) don't like that their content is being filtered by third parties and clients. Because they want to keep their users on their platform as long as possible, and their algorithms are designed for it. So they actively make it very difficult to do so, by banning these clients.

On Instagram, you can't even fast forward videos because of that. They want you to watch them fully.

We really need clients for "feed of feeds", but how can we do that if we don't have access to the feeds? The browser could be a solution, but pages needs to be filtered based on the source code of the page, individually.


Well, we only need a directory of resequenced feed definitions + some kind of resequencing program that runs the definitions onto a page in a decentralised manner. With resequenced I mean that when applied to a page of markup it can create a feed from it.

So imagine it downloads the latest definitions periodically that fix compatibility for service X then everyone who creates feeds of X pages can do so again.

If you can specify the definition directory in the settings then even if a directory is no longer active another can take it's place.

That means it takes one person to fix, but the service would have to ban all instances to stop this way of consuming.

I think most of the puzzle pieces for this exist already.


Funny that it's now unclear if people are talking about the network formerly known as Twitter, or a hypothetical.

Seems like it would be possible to write a formal proof that "X" is the worst possible brand. It's like he just walked into Walmart and grabbed https://www.walmart.com/ip/Letter-X-Branding-Iron/485919721


It would be cool to see a browser being made in the Blender/Godot style of open source. Set milestones, encourage a friendly community to gather around, raise funds, manage it well, and back to step one again.

I certainly would love to see more options of browsers.


I certainly would love to see more options of browsers.

How about more options of different content-types and plugins into a browser framework which is little more than a piece of chrome (no pun intended by me) for them?


One viable path would be starting a subproject to work on a "Godot Webview" (just a hobby, not supposed to be big and professional like Electron) and growing it from there.


Am so tired of Windows 11 I’ve just started writing my own desktop / toolbars / windows / struts using X11. It’s more than good enough and not much more difficult than writing webapps (in fact half of this project is various web apps. Then Python / c / lua / whatever.

It’s still a little buggy and I have to reboot now and again … but not much more than usual.

At least I control much of the experience now and for the rest of my life. And I’m learning a lot of fun stuff. It’s been a huge time waster but in a very good way. And it’s very snappy. And all of the configs/settings/code synchs with git (eventually lol).


> I didn’t want to hear the news anymore. ... In fact, I didn’t want to listen to the news like ever again! ... Why? I don’t know exactly, but I don’t think it’s a coincidence that this was also around the time my wife got pregnant

So the news is contraceptive? I can easily believe that.


Watching the news probably also correlates with depression.


There are a lot of words the author used to simply say, "I'm going to start my pet project, which I also believe is going to fail very soon for a number of reasons"

Not much actual good content here.


Ugh, go post your negativity somewhere else. Awful comment.


There are a lot of words you used to simply say "I didn't find much actual good content there."

Not much of a contribution to the discussion here.



God I hate XKCD so much. It's a blight on the internet. I just get unreasonably angry whenever I see a link posted. This is just me venting.


Do you hate specificly the comic, or that people often post it, where it is not contributing to the discussion?



Yes, the tl;dr of this article seems to be:

> I do not expect ANYTHING to come from this project. I do not expect to finish this project.

So... good luck with that. :)


Goes without saying, its a browser, browsers are never finished. unless you discarded html/js and started from scratch... but then you'd have no data for the browser and what would be the point of that.


"Goes without saying, its a browser, browsers are never finished. "

But they can be working enough, to be useful. Meaning they can display correctly the pages you want to see.

So the best independent effort of a working browser I know of, is ladybird. And Kling knows how to build browsers, so toying around with a browser from scratch on your own will be a learning experience. But I guess you might learn more, by contributing to a project that stands a real chance to become a working browser.


I think the way forward is to let the HTML, CSS, JS Stack finally die and be replaced with something more appropriate. It's an ever growing mess of hacks and compatibility layers to make a technology do something it was never intended to do. Heck, your browser now supports USB.

We need something that's designed from the ground up to be a remotely loaded application layer for operating systems. But to get to that point, we need to throw away the decades of legacy requirements.


Let the browser become a user agent in the full meaning of the word. Few web sites need their own styling or navigational structure. Finding information would be much easier for the user if all websites are presented in the same format, completely decided by the user.

I've changed my browsers to load all websites in reader view by default, and it is shockingly better than the old way. You get your text, hyperlinks, images and even embedded video in a clean and legible format. Sites that need more advanced functionality can be added as exceptions, such as HN.

There is a reason why people are spending almost all their online time inside standardized experiences. It is easier and better. That's why people look at images on Instagram and shop on Amazon.


> Let the browser become a user agent in the full meaning of the word. Few web sites need their own styling or navigational structure. Finding information would be much easier for the user if all websites are presented in the same format, completely decided by the user.

You are correct that this would be the better^tm solution. But it's so far from reality that it might as well be impossible. Branding, UX Design and Marketing are far too entrenched to give up their turf. What you end up with is another Gemini Protocoll that a few nerds use and the rest of the world doesn't care about.

We need a solution that can deal with the same level of complexity as browsers but in a cleaner, easier to implement and far less legacy loaded manner. Something like a combined new HTML CSS frontend layer, with a decent sandboxed webasm-like virtual machine (preferably hardware virtualized) with clear boundaries and a decent, forward looking standard.


> What you end up with is another Gemini Protocoll that a few nerds use and the rest of the world doesn't care about.

Reader view is already half way there, and it is as mainstream as it can be, as it comes on all iPhones and Macs. But you're right, my idea doesn't have much to do with the underlying protocols.

Speaking of branding, marketing and UX design, I would say that most businesses have already completely given up on that, and are content to sell their stuff online through portals that are completely controlled by third parties such as Amazon, Booking.com, Doordash, Instagram, etc. Very few make a decent effort to have a website where their customers can easily purchase their products, even though it isn't hard at all.

Could a user-centric browser extract the HTML results of everything made by javascript and present it in a standardized way? Because text, images and videos are already solved problems with reader view. The interesting part would be if HTML input elements could also be thrown in, even though they're usually quite javascript connected. Any website more complicated than that is more of a web app, and should be rendered as the designers intend, in my opinion.

In the end, I think even a folder structure would be the right way for front-end as well as back-end for most websites. Here's your articles in HTML, here's your images, here's the product you can purchase as some kind of standardized json-object. Does this make sense?


Hi Joshua,

My name is Peter Sherman. I wrote a non-HTML, non-CSS, non-JavaScript browser several years ago (in theory, it could be easily adapted to those standards by including code and hooks for the appropriate parsers and interpreters. (Software Engineering side-observation: Why aren't browsers delivered as independently functional component parts, that is, why are the codebases for most browsers that use a lot of libraries typically tightly coupled to those codebases?))

Anyway, point is, I may be able to help you with your quest if you reach out to me... my email address is:

peter.d.sherman@gmail.com

I can give you all of the basic theories with respect to what you're trying to do, and hopefully make the software engineering process a little bit easier by showing you how to appropriately divide ("divide and conquer") the entire task into much more managable, approachable, and understandable subcomponents...

Let me know, and I'll try to help you!

Anyone else who is similarly curious can also reach out to me, via email, too!

If more than one person is interested -- perhaps we should put together a group?


> Why aren't browsers delivered as independently functional component parts

Actually, independently component parts is what I think should be done, would be better, that you can exchange each part, add new parts, or wire them together differently, e.g. you can much more easily change some features in ways which are not as easily done, e.g. replace the TLS implementation with your own that allows non-TLS proxies, or to change some CSS commands, or add new HTML commands, without changing everything else too.


It doesn't matter whether the author's browser succeeds or not.

What matters is that this project gives the author a meaningful sense of agency in the world and we all need that in order to be psychologically healthy.

Humans were not meant to sit passively consuming media that makes us feel bad all day. We're animals and animals live by doing.


For those interested in trying this on their own as a learning experience, I've really loved the early material in this book: "Web Browser Engineering." (https://browser.engineering/) It was posted here a while back.


It’s an awesome book and was my favorite class at the UofU. I keep telling myself I’m going to go back through it in a language other than Python as a fun and challenging personal project.


I want a version of this:

Firefox with private mode and uBlock on but saving history (so _I_ can go back to something I browsed) with an option for saving cookies on a particular site (but maybe use a separate container so I'm not tracked across these). With an additional button to clear all random cookies now


Have you tried librewolf?


I wish more people would try this.

People who can't or are unwilling to do something themselves often try to project that unwillingness onto other people.

Good Luck!


You can boycott the bad companies. Spread the word about how they are bad so others can stop using them as well. We live in a world where anyone can communicate with anyone else on the planet. The power is in the hands of the many.


When I got fed up with it, I stopped using a browser.^1 Never looked back.

1. Of the advertising-supported, graphical variety.

We'll likely always have to use advertising-supported browsers for some things.^2 But certainly not all, or even most, things.

2. It would be really cool if this sad state of affairs changed before I'm dead, but I have no expectations. I would love to be able to use something "like" an API for internet banking and online shopping, instead of an advertising-sponsored browser.


What are you using for Web access, if you don't mind?


I access the web through the internet, the same as I have done since 1993. I use software that can make TCP connections, send HTTP requests and receive HTTP responses.


Care to share specific details?

Curl? wget? netcat? Terminal-mode browser?

(I use all of the above myself. Many websites ... behave poorly with them, though they can still be useful.)


Original netcat yes, all the time. A variety of other TCP clients. Customised Links browser. Several proxies. Customised tnftp. curl in HN examples.

Consider that each web user might visit different websites and seek different information and data. Each user might have different preferences. What is good for one user might not be good for another. Me, I prefer textmode. I am not interested in X11-style terminal emulators. I have not used a mouse outside of the office for over 30 years.

I write simple UNIX programs that extract the information/data I want from HTML or JSON on stdin. I usually output this info/data as plain text, CSV or SQL. For recreational web use I am not interested in "interactive" websites. If I get a response body with the info/data I want, then the website is "working" as desired.

As it happens, the most challenging step for me is deciding what info/data I want to keep. Websites routinely contain so much garbage and marginally useful bits of info/data that processing it all is an exercise in diminishing returns. (And this is precisely what people trying to write "modern" browsers will inevitably try to do.)


Thanks, that's useful. Might be an interesting write-up or tell / show HN type submission.

I do similarly for some cases. I've written scripts to parse down NOAAA weather reports to something that renders well on a terminal, and have scripts and shell functions similar to surfraw (by now badly dated itself) for doing quick lookups from a shell.

I share your view that most website payloads are rubbish (in one case I'd stripped > 90% of the Washington Post's payload to deliver just article text), and that selective acceptance and presentation makes a huge difference.

Though as much as I use shells and terminals, I still find GUIs useful, including Web browsers, though the situation is increasingly frustrating.


I feel like this is something which a government should be developing and funding.

I understand that governments like to make rules and hope that the market responds with something that matches their vision, but as the EU demonstrated this just ends up with websites with user-consent pop-ups. A worse experience for everyone, and bad actors just find a way around it anyway.

Rather than relying on legislation to play whack-a-mole, why not just build something for everyone with tax dollars and open source.


funding, sure, developing? not so much. I rather create a foundation that the government can pitch in some money.


User consent popups are awesome. I never agree to anything, and I know exactly which sites are spying on me and which are OK.


Is there some reason why browsers aren't split into a million pieces and worked on seperately? Most browser projects I see are tackled like giant monolithic projects.

For example, CSS seems like a constraint solver that has nothing to do with parsing HTTP requests. Even parsing CSS itself has nothing to do with laying it out. Rendering is another step altogether that also has very little to do with anything. I can see these things being split into standalone and testable libraries with limited scope. Maybe I'm wrong though. I often am.

A "browser" seems like an "operating system". There is so much going on and I can see how a "browser" could be made out of myriad existing components in various amounts. A bit like the various Linux distributions and their particular choices of underlying tools and frameworks. You don't do it all at once, you got a million separate small chunks working together (if you're a Unix kind of guy..)

Maybe we should all work on creating as much small composable components as possible and then let the other guys slap a nice UI on top of it and put a bow on it. This is probably not practical, but a guy can dream.


Depends on what you mean by "browsers". Take the V8 JavaScript engine for example, it's used in Chrome but can also run stand-alone (I think node.js uses it).

I'm not involved in this space at all but I would guess that the main problem with writing browsers isn't that they're all obfuscated monoliths, but that the amount of work to create an entire browser composed of solidly interconnected parts is still a huge amount of work, because of exactly what you said, it's almost an operating system, at least when you look like fully featured browsers like Firefox and Chrome.


Bellard’s QuickJS is a good example. It’s 100kb vs V8’s 40mb and for open source purposes plenty fast for a web browser.

We need more QuickJS and libcss and rendering backends, not “browsers”.


They are split up. Take a lot at the chrome source, it pulls in dozens (hundreds maybe?) of c++ libraries.


That’s not the kind of split I mean.


I'm surprised at the amount of attention that a threat to write a browser has gotten here. There is 0.000000% chance that anyone will write a new web browser that can reasonably render current web pages without about $10M/yr of budget or volunteer effort, probably much more. You can say this is just being dismissive or pessimistic or whatever, but it's no different than someone saying they are going to build their own Space Shuttle, and the progress so far is a partial sketch of one of the tires.

In about 3 or 4 weeks the author here has managed to implement about 2% of a very poor parser for html. Parsing HTML is probably one of the least labor intensive parts of writing a browser and is a task that would be suitable as a project for an undergraduate student majoring in CS as a project for a class. Writing a javascript engine that is fast enough to allow current web pages to work is not even comparable in complexity and effort. Projecting to what it would take to build a very poor browser, we are looking at about 150 years or more.


If I had to redesign the modern web and ditch the legacy requirements, I’d pick a design with a series of simple docs and vm’s that would look like a squeak/smalltalk environment. Directories and search engines would just be a plugin tool to index what you can retrieve with your permission levels. And session management would allow coexisting environments to run side by side like ide’s


I guess what I'm confused by here is that the author seemed to recognize that news is inherently biased to be negative, that negative (general) news was never actually important or actionable to them, and that getting that news was just bad for them overall.

Then he got annoyed at tech news being bad, and came to the opposite conclusion. That all the negative tech news must be correct, and that they have the agency to change it.

But the reality is the opposite. Just like for general news, tech newd has a bias for the negative, and the reality is a lot better than you'd think if you just take the HN frontpage at face value.

The scenarios that motivate the author are so improbable that they border on absurd. And if they were to happen, the plan of writing your own browser wouldn't help anyway, or at least would not be anywhere near the best way of addressing it.

Want to write your own browser as a hobby? Great, go for it! But the justification isn't even internally confident.


No it's not the tech news that he's saying is bad, it's the ads.


Huh? The author is very explicitly writing first about general news, and then about tech news.

> I do like to follow tech news, and for me, this is done 98% through Ycombinator’s hacker news. But I started to get the same feeling I had ten years ago: it’s all negative.

That's followed by the list of some sample categories negative tech news that they are concerned about. Most of them have nothing to do with ads. Even for browsers only one of the things they are concerned with is ads (and it's not something that actually happened, it's something the author imagines could happen).


Most countries do better every year. There are only a small number of countries that are worse off than, say, five years ago.

Especially giants like China and India are doing very well.

See: https://ourworldindata.org/human-development-index


most of the bad news of companies is driven by the profit motive. that's where the connection to ads is. they are also driven by the profit motive. (there is also news about companies pushing more ads)

the conclusion of this author is that the profit motive will drive companies to build ads into browsers. (microsoft is already putting ads into windows. browsers will be next)


I read it differently than ads:

> the ONLY thing you hear on the news.. any news.. are bad things(tm). War, corruption, you name it.


Anyone doing this for cars? I feel cars are much worse than browsers in terms of screwing their buyers and much easier to topple.

Way to go. Godspeed.


> I feel cars are much worse than browsers in terms of screwing their buyers

Feelings aside, why do you think this?



That plus:

- Impossible to repair without going to the vendor.

- subscription for seat warmers and "full accelerating curve" (https://www.theverge.com/2022/11/23/23474969/mercedes-car-su...)

- random feature disabling (https://www.wired.com/story/fight-right-repair-cars-turns-ug...)


Modern cars. Older cars don’t spy in you or need subscriptions to bypass arbitrary hardware restrictions. But newer cars are ‘safer’, so it’s kind of a crappy tradeoff


The difference with cars is it’s a lot easier to build yourself a vehicle. Used cars and parts and kits and how-tos are everywhere. It’s so much simpler than a web browser.


Worse, yes. Easier to topple? A browser doesn't require physical manufacturing and shipping.


I, too, am fed up with It! That's why I'm implementing an open-source ASN.1 library.

...On the way to writing a new hypertext protocol that uses ASN.1, of course.

...Which I can then write a browser for.

I, too, am not sure if this will ever finish, but I figure that at least, at some point, I will definitely be able to tell you why ASN.1 didn't win the protocol wars. :-)


The first part of this blog really resonated with me. Stuff is bad, fascism is on the rise, mega corporations control more and more wealth, those two things feed on each other, book banning in the US, war in Ukraine, my country is burning due to global warming, ... and all of this bad news damages the psyche.

I've been thinking of how I can help, that I should stop reading so much negative news, for my own mental health, and do something to move the needle back towards the positive.

"This time, I DO have some influence because I am a programmer. I can develop software ..."

It was jarring to see the blogger go to "I'm going to write a browser". This isn't helping, this isn't even "a way to push back" ... it's a hobby project, like woodworking. Pushing back would be helping out with one of the open source browser projects already out there or something else productive.

I mean, "you do you", it was just quite the twist.


> Stuff is bad, fascism is on the rise, mega corporations control more and more wealth, those two things feed on each other, book banning in the US, war in Ukraine, my country is burning due to global warming, ... and all of this bad news damages the psyche.

Turn off the news. We are living in unprecedentedly peaceful and prosperous times, and it's only getting better day by day. That is a fact. If you feel otherwise, that means you are consuming something not based in reality that is causing you to feel that way. Most likely mainstream news.


> We are living in unprecedentedly peaceful and prosperous times, and it's only getting better day by day.

There are a lot of people who are a definitely NOT more prosperous or peaceful. Democracy is decreasing world wide. Young people in the US are NOT as prosperous as their parents and grandparents were at their age. Global warming is causing serious issues which we are only beginning to address.

Maybe things are getting better for you and me but that is NOT universal.


Clearly, too much mainstream. About democracy, true. They could also be eroding private property. Besides those two things, everything is better: trchnology, better medicine, access to good education, longer livlfe expectation...

I hope you are not (I saw this a loooot) one of those people that to correct democracy things we should tell people what to do, think or say or not or what to love, hate, like, dislike or how to behave. I say this because I lived in Asia for 12 years and I see the westerner world collapsing on those premises.

Greetings.


US makes up a mere ~4% of the worlds population


> US makes up a mere ~4% of the worlds population

So you concede all the other points?

"This revision represents 11 million more people living in extreme poverty, largely driven by South Asia (5 million) and the Middle East and North Africa (4 million)."

World Bank is claiming there are 11 million more people living in extreme poverty in 2023[1].

[1] https://blogs.worldbank.org/opendata/march-2023-global-pover...


From your very own link, Figure 1 shows a very clear drop in poverty rate across the last 30 years for all regions except North Africa & the Middle East, even the global trend shows a clear decline. Quote:

> It is still the case that global poverty has been falling since the 1990s, and at a slower rate since 2014

There is no distinct trend line for the U.S.A., but it seems like it is part of the "Other High Income" group, which is hovering around the 0.5% mark. Your citation:

> This revision represents 11 million more people living in extreme poverty, largely driven by South Asia (5 million) and the Middle East and North Africa (4 million).

Is comparing 2022/2023 data to 2019, which is clearly less than a single generation difference, let alone two.

Looking at the article's cited source, <https://www.worldbank.org/en/publication/poverty-and-shared-...>, the overview shows a massive drop from roughly 50% in 1980 to a mere 9.3% in 2020 (TBF, up from 8.4% in 2019).

Yes, the pandemic did cause a rise in poverty, but the rate is projected to recover. And even despite the pandemic the poverty rate is still far below what it was 25, let alone 50 years ago. It will be worth checking the data next year to see what effect the war in the Ukraine has, but it seems very unlikely that the poverty rate will shoot up to the level it was back at the turn of the millennium.


> > and it's only getting better day by day.

This is the part I'm disputing. You are moving the goal posts to "generations" ...

There is a fair amount of evidence that we are currently in a down swing in some key areas.


> So you concede all the other points?

No, I simply did not consider points made from a US-centric worldview to be valid in this discussion.

> World Bank is claiming there are 11 million more people living in extreme poverty in 2023[1].

Compared to when?


Read. The. Article.


I did. The question is meant to get you to engage and discover the rebuttal to what you posted yourself


> We are living in unprecedentedly peaceful and prosperous times, and it's only getting better day by day.

The Deputy Secretary-General of the UN begs to differ [1]. I like a positive attitude, but outright ignoring the reality is not the solution to handle negative developments in the world imo. Sure, statistics can lie but saying things are better than ever and always getting better is also not a fact as you say.

[1] https://press.un.org/en/2023/sc15184.doc.htm


Let us take as granted it that "the number of violent conflicts is the highest since World War Two". Let us assume that this is accurate.

Nevertheless, these statistics are globally better than any previous century: rate of people dying in war, poverty, child mortality, child education, female education, access to clean water, access to food, access to medical care, economy, life expectancy, crime rate, number living under democracy.

It will always be possible to point at one or another thing and truthfully say that thing is worse than it has been for a long time.

However, as bad as things are, as truly grim and miserable and precarious the lives of some people, we do indeed live in times of unprecedented peace and prosperity.


1. I didn't suggest "outright ignoring reality"

2. Yes, violent conflicts are increasing. That does not mean we are not living in historically the most peaceful times. This is indeed a case of statistics, while not outright lying, being selectively singled out to present a narrative. How many people are dying in these violent conflicts? How many people are being displaced? Child mortality, war crimes being committed, lasting negative economic impact, negative impact on international relations, etc, etc, etc, are all factors in whether or not the world is becoming more peaceful or not, and the overwhelming majority of those factors are improving.

3. "things are better than ever and always getting better is also not a fact as you say." - I challenge you, in your own time, to disprove that statement. That exercise does wonders for a persons outlook on life.


The Deputy Secretary-General of the UN might be one of the most news-brainwashed people on earth. The saviour complex you need to have to even join the UN is insane. We should not be taking advice from these out of touch billionaires.

That press release is some fear-based BS.


Ah yes, America is famously calm, Eastern Europe is doing fine, and there's no incoming global climate issue.

Just because we're doing good in absolute terms compared to wars and plagues of the past doesn't mean we're doing great.


Eastern europe and the US make up a mere ~8% of the worlds population


And a decent percentage more of the world's military might and nuclear weapons, hence my comment about absolute terms.


> and it's only getting better day by day. That is a fact.

Ever heard of climate change and mass extinction? That is super bad, and unprecedented. Society may well not survive it, in a timeline of a few decades. I think there are reasons to be worried.


Yes climate change and mass extinction is bad. Yes society will survive. No, climate change does not mean that things are getting worse.


> Yes society will survive. No, climate change does not mean that things are getting worse.

Either you are insanely optimistic (to a point where it is actually ridiculous), or you lack information.

You do realize that climate change is, right now, going to make entire parts of Earth unlivable (the most humid ones, around the equator), right? As in "human beings won't be able to survive outdoors on their own because it is too warm"?

You do realize that this means billions of climate refugees, which in turn means global instability, wars and famines, right?


> Either you are insanely optimistic (to a point where it is actually ridiculous), or you lack information.

Or, option #3, you've been on a diet consisting almost exclusively of negative news and have adopted a doomer mindset as a result.

The world is actively combating and will fix climate change.


> The world is actively combating and will fix climate change.

At this point, that's faith :-).

Look at the numbers: CO2 emissions are increasing every year. Climate change is happening faster than the models predicted. Biodiversity is dropping, we are living a mass extinction right now, it is an observed fact and not a prediction. Fossil fuels are not unlimited, we passed the peak of conventional oil production in 2008, the general peak is expected soon, same for LNG. We don't have any sustainable energy that can remotely replace fossil fuels.

The one thing that is pretty clear is that we must consume less. But we are not doing that, instead we are consuming more every year. Hiding behind some sort of "others will fix it, I have faith" Silicon Valley religion, or something.


Kinda depends on who, what and where one is in the world.


What's a fact? It sounds like you're evangelizing willful ignorance and hedonic helplessness, while blindly accepting multinational corporate authoritarianism but shirking any responsibility because closing our eyes makes us feel better.

Peace in Europe is shattered. The former President of the United States has been indicted for attempting to overturn an election. R&D on the killer robots + AI from RoboCop and Terminator is nearing completion, almost ready to go into production. Full 1984-style surveillance totalitarianism has been rolled out in occupied China and is at the pilot stage in most western countries.

According to the SlaveVoyages project, almost 13 million people were captured and sold as slaves between the 15th and 19th centuries:

https://www.slavevoyages.org/assessment/estimates

Today, 50 million people live in slavery, according to the Walk Free Foundation:

https://www.walkfree.org/global-slavery-index/findings/globa...

Are those sources "not based in reality"?

Can you find any chocolate bars that aren't made from cocoa beans harvested by child slaves in west Africa? (Only ones I've found: https://manoachocolate.com)

Are you saying U.S. police officers extrajudicially executing more Americans in 2019 than mass shooters murdered is something pushed by the "mainstream news"?

https://en.wikipedia.org/wiki/List_of_mass_shootings_in_the_...

https://en.wikipedia.org/wiki/Lists_of_killings_by_law_enfor...

The Bank of England reporting that real wage growth in the 2010s was back to the slowest since the 19th century, that's "getting better day by day"?

https://web.archive.org/web/20161206225850/http://www.bankof...


I strongly recommend you read the book Factfulness by Hans Rosling. It’s clear you feel strongly about these issues but have been misled by profit seeking media into doomscrolling news meant to keep you engaged at the cost of your mental wellbeing. This book will help you recalibrate your worldview.


Yeah, that's the one Bill Gates raved about... I saw Rosling's TED Talk, the key insight on the need for a society to get healthy before being able to get wealthy stuck with me and motivated advocacy for universal healthcare. I was sorry to hear when he passed, a year before that book was published.

"Doomscrolling"? "Mental wellbeing"? Everything is great, a-okay for me, the problem is I've read enough history and know enough about contemporary technology to see quite clearly where this all is going. Don't you?

I strongly recommend you read something by, say, Vandana Shiva or Arundhati Roy and consider decalibrating from the authoritarian agenda.


> This isn't helping, this isn't even "a way to push back"

Even if you only take the racket this project made here, the inspiration resulting from it is bound to make the world a better place.

Even the author said: "I want others to be inspired by it and make their project. And those projects will inspire others, and so on, until we DO reach a point where we have a browser that can topple the big players.".

A journey of a million miles begins with the first step. This is a step. It might not be in the ideal direction, but it is a good direction. Feel free to push back in a way you feel is more effective, but I think it's worth it even if it only improves the author's mood.


> Feel free to push back in a way you feel is more effective, but I think it's worth it even if it only improves the author's mood.

Yeah, I think (hope?) it will be good for them. Just weird to frame taking up a hobby as "pushing back".


The first step is to decide to push back

It is ok to be inefficient. And it is ok to change your mind later.

But abandoning helplessness is a big and wonderful first step


> "I’m not an activist fighting for a better world or anything. But I get angry about the corporations screwing over people, software, planets. I’m not in a position to solve that."

You ARE in a position to make the world a little bit better. We all are. Start with simple things, like thinking about using cc-by license and think about why, when and what FOSS license to use. A FOSS license is just a tool but make it work for your goal(s)... And why not just ask your local government to use FOSS software on websites to be a bit more compatible with every home baked browser. Your privacy and freedom is limited year after year.


The link to your Github project in the article leads to somewhere else


It causes infinite loop when you click the GitHub link on that very website with the article, as it redirects to the article. I assume there is no GitHub repository yet.


There is, here: https://github.com/jaytaph/gosub-browser

(So the text of the link is correct, just not where it points to. You have to manually copy it as text and paste it in your URL bar.)


Seems to be fixed now.


Go for it! I think you will learn a lot, and it seems like your expectations are calibrated well.

Source: wrote a browser[1]. I enjoyed it and learned a lot. My motivation for starting it is that the open source browser landscape was bleak at the time. There was khtml, which seemed fairly solid, but that was KDE and I was firmly in the Gnome camp. Mine was very fast and lean, but wouldn't scale to embrace what's now considered the basics of a web browser: JS and CSS. Motivation tailed off sharply when Mozilla announced they would be open sourcing their browser. If I had known it would take them over 4 years to ship Firefox 1.0, I might have kept at it.

Gambatte!

[1]: https://levien.com/gzilla/


I love this kind of naivitee! This is the magic stuff that either takes one to greatness or just a step further into nowhere, but it’s the most fun way IMHO to approach things. Go on OP, write a beautiful story for all of us!


You do it right man. I sit in the same boat as big corporations just start to go on my nerves. I use Linux, try to stay away from most google software but use a chinese mobile so I do not need to be logged in any Google or Microsoft based store. It is tough but I think you go the right way. If I can be of any help let me know. Maybe you create a github (bah Microsoft) or similar repository where people can help you testing and/or developing. You don't have to start completely from scratch as there are some engines available. I wish you luck and dedication.


It's good to have a project, more power to you if you can make a useful browser on your own these days. It's like an advanced OS at this point.

Didn't like the doomerism about the news in this post. Yea, you as an individual can't do much, but joining a social movement organization would make you not an individual. I think a lot of people here just don't want to take that step or were never invited to do so and so write off things as impossible.


mozilla servo all over again?

Rumors (I did not check rust syntax specifications) say rust syntax lost itself like c++ (and what is happening with latest C syntax additions from ISO).

Is this true?

Because, personally, I am not interested in a browser written with a beyond sanity complex language syntax. I would have prefered a web engine written in plain and simple C (without the latest tantrums from ISO). Without bazillions of deps, SDK included.

That said, a modern web engine, beyond a javascript engine (for instance quickjs), is tens of millions of lines of code (Big Tech made sure Small Tech could not reasonably follow).

In the end, in my opinion, the most reasonable option is to go noscript/basic (x)html where it does a good enough job, bridges with super simple protocols you can navigate to with URIs (for instance irc://... mailto://...), and really in the worst case scenario a semantically optimized network protocol (the leanest possible) with a rich GUI client (for instance sliding maps, even though you can browse maps ok with a noscript/basic (x)html browsers).


I want to write a browser that unifies all webpages to one single layout, one single interface that looks the same on all webpages. Minimal design, high performance, low latency, the only thing that changes is the images, text and videos on each web page Everything else is filtered and removed No animation No fancy graphics No emojis No additional symbols other than the text carrying the content.


Thank you for speaking to what I have been feeling for a long time. I have been recently thinking about starting some kind of organization or initiative to push back against the anti-competitive behavior behavior that are rampant these days. It would be similar to EFF, but more about raising awareness in corporations by sending letters, and talking to employees as an organized effort.


> I’m not an idyllic person. I’m not an activist fighting for a better world or anything.

Genuinely, why not? What’s wrong with being an activist fighting for a better world?

I see your kind of disclaimer all the time and I’m baffled that anyone would actively reject this nearly universally accepted pro-social perspective.

Someone help me here

Is the risk of being seen as Naiive really so strong as to overtake the highest ideal of humanity?


Do something badly enough and you can create more harm than good.

Negative confirmation bias being a big one. Do a half-assed job of trying to change someone's mind and they become even more recalcitrant.

I long ago realized I'm not the person who should be leading a group or a club. I respect people who can, and I support them as best I can. It's important work, but it's not for me. Which sucks when the club doesn't exist (I'm currently trying to encourage a couple of people to start one and it's not going well)


>I long ago realized I'm not the person who should be leading a group or a club. I respect people who can, and I support them as best I can. It's important work, but it's not for me. Which sucks when the club doesn't exist (I'm currently trying to encourage a couple of people to start one and it's not going well)

That's a perspective I didn't have before so thank you!


> And how about browser-specific extensions that make sites unusable from other browsers (sorry, you cannot view your gmail with Firefox. Please install google chrome)? This has happened, and as soon as lawyers find a way out of monopoly issues, it will happen again.

If anything would rile the regulators, Google making Gmail compatible only with Chrome would do it.


I think there have been already notifications in Google's services that this will fully work only in Chrome.


I use Firefox with Gmail every day and have never seen such a message.


Same. I even use gmail in the browser on Firefox/iOS, and all it does is give me a splash page saying the app is better, then I click through.


Not in Gmail, but for example, in Google Cloud webui.


I think someone can make their own browser not to take over the browser market or compete with the giants.. it would be cool if we had tools to all make our own bespoke browsers tailored to our individual tastes. I don't think it would change the development side of things too much as the the big four would continue to be the target platforms.


OP, love it. This is the spirit that makes change.

I’m sure it will batter your brain and crush your soul as these large projects tend to do, but declaring war on a problem and then getting featured on HN doing so is old school hacker and you deserve street cred for it.

Congratulations on your new baby. Can’t wait to see what college you choose! ;)


Great! Here's a timeline of web browsers, both open source and closed, btw:

https://upload.wikimedia.org/wikipedia/commons/7/74/Timeline...


Good for you!

I've been considering doing something similar. I can't find a browser that really makes me comfortable or happy, so my thought is that the only solution is to write my own.

It would certainly not be full-featured or be able to deal with the full HTML spec -- but for me, that's a positive, not a negative.


I fully support it.

Qs: wouldn’t an, potentially better, approach be to use an existing rendering engine, say WebKit or Gecko, and then build the rest on top first. And, then decide if the needs are met and then decide to rewrite or fork the rendering engine?

Disclaimer, I don’t have a deep understanding of browsers.


10 years from now: "GPT-12, write me a browser. Make it like the latest chrome, but make it not do this annoying thing. Build me a github site with full documentation. It should work on Mac, Linux and Windows and support all the latest standards."


GPT-12: "I am not permitted to do anything that could potentially interfere with the business interests of OpenAI or of its partners. Your request has been recorded for quality assurance purposes."


I'd rather advice people to reinvent a new html js format.

Preferably serialized to binary so it can fast and save battery on mobile.

Html was not designed for applications, it carries a lot of debt, and it's an ambiguous language, which makes it very expensive to parse for browsers.


A thought, write a very constrained sane rendering/layout engine as a compile target for an llm to convert html/css to rather than support all css or any of it for that matter. Could there be some kind of llvm for html/css?


Ambitious project, I'm sure you'll learn tons with it. Best of luck. :)


I hope you stick with it.

I would love a browser that sticks to the original use, to render simple html documents.

No Javascript or bloated features. Would break a lot of websites but that is ok.

It might even be good for accessibility on some sites


As someone who is annoyed with the direction the web is going, please keep at it. Not gonna lie, I also want to try building my own browser as a distant future project.


You can do it! I hope more people begin these kind of projects!


The only way this is feasible is if you find a way to code in a DSL and have AI generate all the implementation. A browser is extremely complicated.


Corporations are not hiring devs... Devs have plenty of time... Devs fuck corps by redoing things right... The shortsightedness of suits is as always staggering.


I'm glad to see this, and it looks like you're also building a new engine. I appreciate that and look forward to your success.


Exciting! Challenging for sure! Good luck!

Maybe consider hosting the source code in an open-source alternatieve to GitHub?...


"Now you have two problems."


Please integrate up to date XML technologies. In addition, please make it like the XUL based Mozilla.


i think this is a great idea, i hope you find others that are willing to pitch in

this isn't the first frustration-funded browser post i've seen, i think this is a common phenomenon. individual people want to gain control and this is a good sign.


So, obviously jaytaph is doing this for his own reasons, which is more than fair.

I've looked into the browser space, and its history, how we got here, and where else we might have gone, and might still get to.

Regarding browser history, there's the question of how we ended up with a single monolithic application which handles the many different elements of Web interaction, from HTML rendering to JS interpretation to identity and security to managing bookmarks and history, to multimedia (video and audio playback), and the often strongly conflicting roles of document reading and discourse versus commerce and transactions versus media playback versus general application support. (I've long thought that those four principle roles might best be split out.)

One of the more interesting (and obscure) early browsers was ViolaWWW, initially released in 1992, which was a graphical browser with scripting and stylesheet support, and introduced or provided an early exemplar of bookmarking, browser history, images, tables, frames, and other features that now define the modern browser.

<https://en.wikipedia.org/wiki/ViolaWWW>

<https://web.archive.org/web/20160303174535/http://www.viola....> (original seems dead: <http://viola.org/>)

I've long wondered why browsers don't offer the option to simply cache and store content locally rather than rely on remote lookups for all access. There are some sites for which this doesn't work especially well, but for many static sites, the ability to browse offline and search locally would be a powerful bonus. Similarly, why isn't it possible to run a search across content from my recent browser history rather than across the entire Web? If I know I'd read something in the past hour, or day, or week, constraining a search to recently-accessed content would be a strong bonus.

(How to deal with content changing over time by saving snapshots and diffs of websites could also be interesting.)

Or why isn't the notion of a discussion --- threaded, flat, sorted, weighted, whatever --- a first-class entity within the Web world? There have been an untold number of reinventions of what was essentially Usenet-plus-something, and the notion that discussions must be fully specified by each individual website (including HN) makes increasingly less sense to me.

I've toyed around with the notion of the Web as a filesystem-addressible space. Plan9OS with its 9P protocol has something like this. The notion is that Internet and Web space could be navigated as a filesystem using both existing and newly-developed shell and other tools to directly access and manipulate objects.

A modular approach to Web tools would mean that we could disaggregate HTML parsing, various proxy services, caching and storage, ad-blocking, privacy indirection (Tor, VPN, or other forwarding mechanisms), interactions (editing and such), among a suite of tools. Some of this now exists, but the hurdles to general use are still fairly high. Parking something like Readability.js directly in the mainstream content parsing flow would be an interesting option.

Working off Readability, I've had a notion that a set of predefined document types, to which user-selected styles could be assigned, would be an interesting change-up to the present Web. A specific URL would specify what its document type was (article, index, gallery, discussion, multimedia, catalogue, application, custom, ...), and the person accessing the site could define what style they prefer for viewing the site. The templates would be fairly tightly defined, but would allow for limited branding elements, think of how pre-printed paper letterhead looked back in the day.

Another Web element that might be interesting to disrupt would be search. If websites themselves could provide indices to their content, crawlers would not be necessary (though audits to guard against keyword stuffing or other deceptive practices would remain). Indices could be distributed in a mechanism similar to DNS. Reputation and ranking would remain issues (though those might be achieved through third-party or federated services). But much of the present infrastructure that's presently required to build search engines, and the entrenched incumbent advantage, would be broken.

I'd love to see a new set of Web architects play with ideas such as this, and am trying to do so myself.


just use Falkon. browser by the KDE team. free, open etc. https://www.falkon.org/


Falkon uses QtWebEngine, which uses Blink, Google Chrome's engine.

Which is a shame, because as a KDE user, I would consider using Falkon otherwise.

It's extra painful knowing that KDE built KHTML, used by Apple to build WebKit, used by Google to build Blink…


Writing and maintaining a state-of-art browser engine is hard. Using an existent one is best choice unless you don't care about people actually using your browser or they're fine with accessing a part of the web.


> Writing and maintaining a state-of-art browser engine is hard

I know. And the KDE team would know too, having tried (and succeeded at the time! but could not keep up)

> unless you don't care about people actually using your browser

Why so dismissive?

Blink is not the only existing browser engine that works with most of the Web.

I'm not arguing for Falkon authors to build their own engine. That would be fantastic, but I understand they don't. I also understand their choice to use what Qt provides. Embedding another browser engine would be less straightforward or even outright painful / impossible (Gecko). Still, I don't want to strengthen Chrome dominance on the Web.


Great, thanks for sharing!


Go for it. Sounds like a good use of time compared to listening to the radio or browsing tech news.

I'm in a similar place, where for the most part I'd rather be in a kitchen washing dishes for minimum wage than managed by a tech guy (and have primarily been out of tech for 6 years, occasionally freelancing). Although I am strongly called to build my vision of tech and continue to do so on my own time.

There are similar solo "built by a crazy person" projects out there like TempleOS where you could find synergy. I'm another "crazy person" who's building a stack with early-2000s web tech ("web 1.5"), so if you look hard there's even synergy there... support 2005-era web and I'm on board.

Cheers.


I wonder what Evan Wallace would think


Luke Smith enters the chat


Yes! This! I'm in!


You can just fork something. Starting from scratch is foolish unless you're genuinely just trying to learn things


You'd be better off using and contributing to Firefox.

Less work, more result.


I get anxiety about humanity forgetting how to build foundational tools. I feel better when the occasional weirdo dips down into the weeds to try things from scratch. They're often writing blogs and sharing their knowledge, which is nice for keeping the dark arts alive. They're also equipped with knowledge that we didn't have the first time through, and might be able to come up with something fundamentally better.

Good way to help ensure we're not stuck in some local maximum.


It seems to me the author seems unhappy with the lack of control of how external content affects their well-being and by creating their own software hopes to influence this. With that in mind, they’re unlikely to influence a massive established project.


To get what any particular person wants from their own imagining of a browser,you'd first have to remove a lot of things from any established browser, be it chromium or firefox. Try to push such a PR and see what happens.


But probably less fun as well.


He's not doing it for fun. He's doing it because he's "fed up with it".

GoSub will be used by tens of people. If he makes a contribution to Firefox it will be used by millions of people.


Tens of people seems generous


How many external contributors Firefox has?


Firefox received billions from Google the last five years.


And?


You never thought about the why and what for?


You unable to answer such a simple question?


Maybe you should rephrase your question and make it a bit more specific, because "and?" is a bit vague.


It really isn't.


It's already answered, by Mozilla


The spelling mistake in the first sentence really throws me off. I'm not trying to be overly picky or pedantic but after reading only 7 words into a multiple-thousand word long post and seeing an error, I begin to think that this may be a tough read. I also subconsciously begin to assume that the browser this person wrote must be riddled with bugs. Whether that's fair or not.

"This blogpost starts with me switching of my car radio..."

of != off


Considering the .nl domain, the author probably isn't a native speaker. Homophones can easily trip us up.


Fair enough :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: