I have received a $100k sponsorship for Ladybird browser
twitter.com
twitter.com
If you’d like to know more about Ladybird, I did a presentation about it at the Web Engines Hackfest in Spain just two weeks ago: https://youtu.be/De8N1zrQwRs
> In a surprising twist, I have just received a second $100,000 sponsorship for Ladybird development!
> This one came in the form of an anonymous cryptocurrency donation, so now I need to talk to my tax accountant ASAP and figure out what to do..
Congrats! Sounds pretty amazing coming right on the heels of your decision to go full time. I have so many questions — hope you’ll put out an update when you’re done celebrating ;)
Swedish banks really don't like crypto, to the point where I've had trouble charging for API access because I couldn't prove the money wasn't from crypto :-/
I have some old friends who are deep into that world, gonna have to see what advice they have. Still, as far as problems go, it's a nice problem to have I guess.
Of course this means that in 20 years we will probably have another stagnated monoculture based on some weird 3rd party, hostile corporate fork of Ladybird, but by that time you will hopefully own a venture capital firm and will be happily sipping mojitos in the Bahamas, and the cycle shall begin again ;-)
Or he could just be comfortable, and the product could keep delivering the same thing, with incentives mostly aligned on all sides.
Not to bring negativity to the thread, but it's certainly possibly to do better than what you've described as a tongue-in-cheek norm.
Party on!
One suggestion: maintain your compatibility with Linux, as this would likely bring more people to your browser and lower the barrier to work on the browser.
1: https://github.com/SerenityOS/serenity/blob/master/Userland/... 2: https://github.com/SerenityOS/serenity/blob/master/Base/home...
[0] https://github.com/SerenityOS/serenity/blob/master/Ladybird/...
[1] https://github.com/SerenityOS/serenity/blob/master/Userland/...
This is all very interesting. Next is poking around in it for a bit.
Thanks so much.
Did this sponsorship result from your presentation?
I compiled it and added packages to install on openSUSE for this in the readme... which was easy because you don't need much to build this browser! And it builds in a few minutes.
I wish Discord was not mandatory to interact with the community (because I strongly believe in [1]). I will not use Discord so interacting with the community might be complicated if I ever want to work on it.
Anyway, may Ladybird thrive.
[1] https://drewdevault.com/2022/03/29/free-software-free-infras...
With hindsight that was a mistake. I finally created one a year ago and it had a huge impact on the velocity of the project - I now have active engagement with users and a growing pool of contributors and collaborators, all thanks to that group.
I think often it's important to prioritize reducing friction to getting involved over (very rational) reservations about the platforms themselves.
How do you feel about the fact that the long-term survival of this knowledge is at the whim of a company that is mostly focused on the gaming community and has no vested interest in preservation over longer time periods?
When was the last time you found an answer to a question from an ancient newsgroup or mailing list that's archived on the open web? It happens to me fairly regularly.
(for context, I help maintain a Discord for an open source project and I feel like I'm betraying the web as an ideal - and constanty wish we had chosen differently)
EDIT - I didn't look to see who I was replying to. Simon -not you of all people! I'm less concerned about your specific community than I am about the example you're setting and the the fact you're lending your voice to support a worrying trend that affects the long-term health of open source.
It also encourages more people to be assholes in my experience. I'm sure there are well moderated chats out there associated with open source projects, but I had several such abysmal experiences with Discord in the past that I'm completely done with it.
I suspect 1000 people use Google to solve a problem for every 1 that joins a Discord and asks.
I don't understand why these are the only choices offered. In fact - they feel fairly orthogonal. There's nothing about Discord that makes supporting a community easier - in fact I would argue it's demonstrably worse than many alternatives. It feels like an accident of history that's led to it's ascendency.
As someone that does maintain a community. I'd much prefer to have something Reddit-like (structured around topics, asynchronous). I find chat-style to be good for... well... chatting. And worse for everything else.
It exists, it requires minimal competence or attention to technically administer, and it provides adequate (though not great) tooling for moderation (which is then significantly improved at scale with third-party tools). It also provides a unifying umbrella with a single set of affordances where everything is, from shitposting friend groups to technical projects.
IRC exists, at least in a technically-correct-is-the-best-kind-of-correct sense. It requires nontrivial competence and attention to technically administer (and like, I wrote an IRC server once and still don't ask me to tell you, or to give a damn, what the alphabet soup of flags does). Moderation is actively bad, helped only by it being sufficiently annoying to get onto IRC that you probably are putting up a "you must be this tall to ride" gate.
It also just sucks to use. Phones exist and supporting them adequately is not optional in 2023. Bouncers are not a solution, they are an additional problem.
There's also limited space in people's brains for all the alternatives. Most people seem to find that That One Friend Who Uses Telegram (or Signal, or WhatsApp) when everybody else you know is on the Signal (or Telegram, or WhatsApp) island to be drifting away--it's not dissimilar. This also ejects Zulip--which is quite nice, IMO--and Mattermost-- which is not--and similar because when you've already got Slack and Discord fighting for cognitive space, a third option had better be step-change better, and they're not.
> It feels like an accident of history that's led to it's ascendency.
Sure? It was good enough, soon enough. Other things weren't good enough or soon enough.
> I'd much prefer to have something Reddit-like (structured around topics, asynchronous). I find chat-style to be good for... well... chatting. And worse for everything else.
Great, but most people...don't, and it's not hard to understand why. Chat has won because the world is an increasingly frustrating place and people have steadily decreasing ability to care about fucking with stuff. Forums are, for the most part, fucking with stuff. And worse: it's fucking with stuff for an unclear payout with regards to the thing that the prospective visitor cares about.
Other people don't care about your stuff as much as you care about your stuff, and that's not a dig, that's just how people's brains work. You can go stand alone, and appeal to the sliver who want to deal with creating an account and validating an email address and figuring out where the reply button is (oops it was the post button, now I created a new thread and people think I'm a rude jerk)...or you can use the thing everybody already does use, understands, and at least is willing to tolerate.
Unless you have a forum that has a genuine raison d'etre to stand alone as a thing, and are willing to consider a low-cut filter a feature of your community, it's a bad choice. And if you do qualify for those maybe it's a great choice, but most things simply do not.
Something Awful provides a real reason to be a distinct thing. Most other attempts at forums don't, regardless of topic.
My kingdom for a Discord bot to slurp up all the messages and LLM me an FAQ.
But it's a question that constantly weighs on my mind. There's a lot of knowledge and information archived in the server, and it's really not easily findable without knowing to look in the discord server. Opening a second Q&A site would mean nobody would ask there, as the barrier to entry and use would be too high (even if it had a discord login). Using github discussions binds us even closer to github (they can't be exported), and I'm not comfortable with that either.
I would love to see a service appear that allows us to publish discord forums on the net. I feel this is the closest thing we can do to something that would actually spark change. Discord's forum system is absolutely rancid compared to everything else, but my biggest priority is getting the information out there and at least slightly ordered. I feel this would encourage the most people to actually use it.
Check out https://linen.dev. See https://www.linen.dev/d/tfos for an example (that's my own Discord community). Before discovering Linen I also made a proof-of-concept for something similar (https://discord.tfos.co); I might try to make some updates to that at some point so I can change the design.
Edit: My sibling mentions the appropriateness of such a thing, and I do think letting users know that their messages will be posted on the web is important, but either way, if it's a public channel of a FOSS project's Discord server, surely people understand that those messages aren't private to begin with, right?
For some reason, this is really hard for people to get. The discord company is super paranoid about scraper bots joining through public links, and people themselves are continuously in awe when someone digs up an old message about whatever, asking the mods to ban them for doxing.
I completely agree with the sentiment, however, and I think it should become more socially acceptable for some chats to be viewable online, like forums used to be back in the day. Even then, people would close certain subforums off from appearing for people without an account (e.g. in public searches). As it stands, however, people are not comfortable with this because nobody is doing it.
Discord also encourages certain usage patterns that are unhealthy. Threads are rarely used and have poor discoverability, search is incredibly limited etc.
https://web.archive.org/web/20221205181242/https://www.reddi...
My solution to this is a cultural one. Any time a question comes up on Discord that should be in the documentation, I add it to the docs.
If it's a bug report, I open a GitHub issue.
I often copy and paste messages out of Discord and into the relevant issues to keep them searchable and available in the most useful context.
It's a bit of extra admin work for me, but the stronger community I get from having a social space for people to hang out with each other is more than worth it.
No different than an office workspace no?
Even the success of remote work shows this. People want to avoid the office (and the commute) to get more time with friends, family, and their hobbies. The internet is most successful when it helps people live the life they want in the meatspace, not when it tries to replace it.
There's also nothing stopping anyone from doing that, and it's quite easy. I've always just had irssi running on some server that archives everything and I ssh into the server when I want to chat.
Honestly, not being indexed by google is the least offensive aspect of discord. For most people these days I think it is actually a benefit. Tides are changing, common people are becoming apprehensive about their words being immortalized in some ledger easily accessible to the public which future employers will be able to trawl through for disqualifying out-of-context remarks. The objective in such chat rooms like discord and IRC is to make ephemeral connections to other people and discuss things in the moment, not to build up a semi-permanent corpus of information for the benefit of people googling things in the future.
If it was a channel with a lot of users, also a general bot would often exist.
For example you could call up faqs easily on say systemd in Debian by just hitting !systemd
You could add to the faqs on the fly
All faqs were synced back to the website.
So we're just reinventing the wheel here
I do this for one of my projects as I find that Discord is where a lot of people are, and people find it accessible. But for those of us who do not love the closed ecosystem, it's nice to have alternatives.
I am a big fan of kling and his work on Ladybird though, and I wish the project the absolute best.
I feel like just intersection of people who know how web / webbrowser works and know how to write compilers is relatively low
like both of those independently are rare
Did you also make this post from it?
I wish Discord was not mandatory to interact with the community
Agreed. My preference is IRC or even mailing lists.
Nope! Apparently it does not like the textarea used to reply to a comment on HN.
While I understand this preference and am sympathetic to it, I hope this means that you're doing the (heavy, thankless) work to make IRC or mailing lists more reasonably usable for a modern audience on modern devices.
Email's problem is mostly just that email has been rendered almost useless by bad affordances across the board and the general disregard for signal-to-noise, but IRC manages to even be worse. I have a phone in my pocket; I expect continuous connection and history. No, I'm not going to start a bouncer. No, I'm not going to pay somebody else to do it. And no, I'm not going to start a history-archive bot so I can see what I missed.
People moved because these tools are inadequate. Maybe somebody wants to make those tools better, but I don't see it happening at the scales necessary to make these more than but-for complaints.
https://github.com/zulip/zulip
I've been using it at https://oilshell.zulipchat.com/ for over 5 years now, it's great
Asking people to put up with a third thing--a third set of ways to do things, a third app on the taskbar or on the phone--is asking a lot of people in the current hellscape. (It's a lot like how most groups just quietly let that one person who only uses Telegram and won't use Signal/WhatsApp/the group preference du jour...drift away.) That's not Zulip's fault, but also kind of disqualifying unless you consider that filter a feature. And if that's a feature to you, your desire for a community is probably nontrivially smaller and stubbier than that of folks who are using Discord in the first place.
"Everybody else is doing it" is a weak argument
"Everyone else" isn't building a browser from scratch -- it's more important what those people are doing and using
For every one person who's never used those, I can throw a rock and bounce it off a dozen who have.
I don't like the closed nature of GitHub neither. I hope the free software world move away at some point.
The open source world can't seem to avoid locking itself in those closed tools, I would really like if we stopped doing this.
I chose Discord because I see it as a bigger issue than GitHub, with which one can interact with standard tools like emails and git, and basic stuff work without JS. So one can both refuse to run non-free code and interact with GitHub. Still not ideal and concerning.
Try to go back to the early 2000s and tell someone that the open source world is going to trust MS to host all their stuff. You would probably have difficulties to be taken seriously.
(Although it is to be noted that back then many people used SourceForge which was also proprietary)
https://awesomekling.github.io/Ladybird-a-new-cross-platform...
Github repo:
It's the exactly right type of project. High profile and high impact. The status quo of the software industry needs to be shaken up, and this has the potential to be exact right sort of rude awakening.
The fact that solo devs or small teams on a shoestring budget are time and time again shown to be surprisingly competitive with billion dollar companies retaining supposedly the best and brightest in the world is undeniably egg on their face.
It raises concerning questions about the entire industry, how we do things when we build software, where money is flowing.
These types of projects are long term, but public perception matters. Making waves matters. The audacious possibility that it might just succeed matters.
Firefox is produced by a single company and its users are completely beholden to the choices that the company makes.
In some ways, Chromium is closer to being the Linux of browsers. There are multiple “distributions” or instances of the technology ( Chrome, Edge, Brave, and others ). There is at least some collaboration on the core.
Chromium is not developed nearly as collaboratively as Linux though and certainly it is dominated by Google.
What we need is something like Ladybird which is community driven prior to corporate involvement and that is led by that community and not by a company.
Not that we have not lost this opportunity before. KHTML was community driven before Apple co-opted it for WebKit which Google later forked to Blink.
Ladybird is perhaps already in a better spot being cross-platform vs only the browser in SerenityOS. It is also a “complete” project with JavaScript and multimedia already built in. Let’s work to keep the project together as a browser and not chase bits of it getting ripped off and taken elsewhere.
I do wonder what's so wrong with FF that nobody wants to base their fork on it.
It's compatibility. I use Firefox now it less exclusively, and sometimes I'll need to go on some "normie" website to book a flight or something and the Continue button will be broken or some shit. Seems like lots of web devs will just make the sure works in Chrome and call it a day.
I have ungoogled chromium installed alongside firefox for exactly this reason. A lot of mainstream sites clearly do not care about supporting other engines.
This appears to be the mindset, anyway.
Google has a massive conflict of interest with the free and independent web in a way that Oracle does not have with the ability to build and run arbitrary Java applications.
Linus Torvalds had nothing to his name when he started working on Linux. He was just some kid from Finland, but the audacity the project gave it attention and visibility, and visibility came with funding.
I think in general a hint of audacity along with being able to demonstrate capabilities to follow through is a great recipe for having people throw money at you, and the more money you have to work with, the more options you have to keep demonstrating what you can do.
A lot of people have a vested interest in shaking up the tech world. It's just a matter of finding the right fuses to light.
I'd imagine you're one of us, considering you went full-time on your search engine :)
We had Andreas demo his OS / browser [0] at Handmade Cities [1]. These conferences are what I run full-time independently. I'm excited to see a flourishing of audacity, so to speak!
It's weird, it's become this truth in software development that one should lower their ambitions, try to do something small and not overextend. Don't try to reinvent the wheel, stay in your lane.
Which I guess is sage advice for a beginner, but I think it sort of stuck with the developer hive mind and as a result, what you get is these small low-impact projects instead of this kind of a moonshot.
While I don't think just anyone could make a browser or a search engine, I also don't think most who could would ever think to try because of these self-imposed limitations.
You're missing a "new" or "another" in that sentence.
And now with money. That's something I really didn't expect to see anymore.
He does this all for fun and even if Ladybird doesn't become the #1 browser the learnings in developing a x-platform browser in themselves would make this all worthwhile!
Perhaps 'it uses neither' or 'doesn't use either.'
Good luck with your project! Maybe naming your sponsors can help to get even more contributions and contributors?
I can offer some help/advice with HTML parsing, but I guess you have figured that one out and are following the procedural parsing description, whereas my expertise would be the SGMLisms on which it is based (and its minute re-construction from the HTML5 spec).
That's the biggest problem facing new browser implementations, and IMHO it's deliberate. Probably 99% of sites out there do not need any of the new crap that gets constantly added to the "standard", but continued propaganda by those constantly in power will practically guarantee that they will, under some guise of "progress" or "modernity". WHATWG is basically controlled by Big Tech (and was created because they didn't like the W3C's approach to stability) and popularised the idiotic oxymoron "living standard". Constant churn is how they're trying to maintain their monopoly, because they have the sheer manpower to outrun competitors.
But the ones responsible for the piece of shit that is CSS are actually W3C, Inc. Not that the bad looks of Google having them by the balls is better than your scenario eg the impression W3C on its last legs receiving money to keep the illusion of a multi-party effort of web standards.
Recent additions include the :has pseudo class, which I've wanted for a while, a subgrid layout to alleviate the problems nesting grids can cause, scroll snapping should make those annoying Apple style scrolling web pages less of a problem to deal with, and there are tons of other great features out there as well.
With these, we can finally get rid of the janky mess that we needed 10 years ago. No more magical "width: auto auto" for centering text. No more lists of "display: float" to get dynamic sizing.
The newer the standards are, the better the documentation is in my experience. Older CSS had a lot of shitty implementation defined behavior that has since been documented to correspond to what most browsers seemed to do anyway. The newer standards seem to be written with an actual intend to be implemented consistently.
You could build almost any modern web page in Microsoft FrontPage twenty years ago with enough carefully crafted GIFs, but I think we all agree that CSS has improved for the better since then. If it weren't for all these "living standards", you would barely be able to use the web on your phone. I remember the PDA internet era, back before the iPhone made showing real websites on your smartphone a thing developers became aware of. It was not good.
https://servo.org/blog/2023/01/16/servo-2023/
https://people.igalia.com/mrego/servo/igalia-servo-tsc-2022/
https://news.ycombinator.com/item?id=34400214
So, your "wish someone would sponsor completing Servo as fast as possible", is looking like it's coming true.
Note though that Servo and Ladybird have vary different motivations and objectives.
Not sure how to feel about this combination, are they any good?
=> https://thenewstack.io/igalia-the-open-source-powerhouse-you...
Servo was a promising experiment, but it eventually became a massive, complicated, unmaintainable mess.
Does this change anything about the feel of working on it, I wonder? Until now, it has been a real passion project. I wonder if this will make working on it more of a chore, or if it will affect the "roadmap".
I hope someone donates $100k to the programming language project of theirs next.
And lastly, the most important thing is for him to stay sober. My understanding of the whole "serenity" project was as an alternative to drinking that was fun and fulfilling. I hope the money doesn't cause stress, or otherwise change what the project is or how it works, such that it no longer works for its original and primary function.
I personally learnt a lot more from his videos than from any book.
Can you shed some light on who’s sponsoring? Any strings attached?
That said, most modern browsers already are forks of Chromium. It'd be nice to have a third option that isn't just Google or Google-funded.
What they could do, as GP suggested, is actually fork an existing engine and start with a working foundation that’s already compatible with the existing web.
Note: Google did it, they forked WebKit and now nobody calls Edge a “WebKit browser”
Today people complain that Safari and Firefox are “the new IE” because they don’t keep up with the slew of updates Chrome pushes out. Nobody wants to support a third, brand-new super-buggy-forever engine.
It’s an interesting bet, but incredibly high-risk or relegate to obscurity.
All the current "forks" of Chromium basically rely on continued development by Google, saving them from having to invest in all the engineers necessary to work on, maintain and develop a proper fork. So they can limit the size of their engineering teams to what's necessary for developing surface-level features like vertical tabs (Edge) or built-in adblocking and ... uh ... crypto (Brave).
I'd say Microsoft throwing in the towel and building a flavour of Chromium instead shows that there's no corporation out there that's going to be willing to make a real fork.
The only reason why Ladybird exists at all is because it's a part of SerenityOS, which was started because the founder wanted to make his own OS for daily use. Like, of course the guy's gonna write his own browser instead of just forking Chromium.
Compatibility with C++ is required at this point in time to interface with the thousands of lines of C++ code that have already been written. Assuming that everything will be written in Jakt at some point, then one could look into making more grave changes without having to care about compatibility (including maybe skipping the C++ part alltogether).
> Why not to just use Rust as their system language.
Rust has been evaluated, but discarded (mainly, iirc) due to it's approach (or lack thereof) for OOP. Also, the whole "we want to make things ourselves" thing.
It should be noted that most of the SerenityOS umbrella is written in modern C++ (modern enough that you may very well need to compile a compiler to build the project). Rust and C++ can interoperate, but the process isn't exactly user friendly.
The goal of the language, as I understand it, was to make working on the rest of the Serenity projects more pleasant and safe. Even modern C++ has some annoying footguns but rewriting the entire system simply wasn't an option.
As such, jakt compiles to C++, specially C++ that interoperates with a lot of SerenityOS code, and doing that from Rust code would probably be a much worse experience.
Rewriting it in jakt is now a thing!
What? From my knowledge Jakt is written in C++ and Jakt itself, not Rust.
Sure the first implementation was written in Rust but it was quickly replaced when Adreas took over the project.
At first glance I felt that 100k wasn't really going to move the needle in creating a new browser engine but in fact (after reading the link below) it's not insignificant. There are a lot of contributers to this project, and funding the project lead is a big step in the right direction.
Realistically another browser engine really isn't needed. 2 is enough. Given the scale of the work involved it'll take a lot more than money to make this mainstream.
Bur that doesn't mean it's not important. These sorts of projects have value beyond main-stream use cases. While those uses are small, they can end up being significant.
[1] https://awesomekling.github.io/Ladybird-a-new-cross-platform...
I profoundly disagree with this statement. 2 is too few.
Currently the internet is what Chrome is - if Google decides that they don't like something on the internet, they can just wipe it. Firefox is dying. (And Safari is... well... it does things). The internet has been rotting away for good part of the last decade. We definitely don't have enough browser engines, we are in dire need of more.
Then I don’t understand how this new thing will not be stillborn. It is years before becoming usable and even then it will be worse than Firefox.
Firefox isn't dying because it's a bad browser or because it has no place on the market. It is dying because of mismanagement, mostly for not knowing what their users really want and need. They have no idea why their current users are using their browser, instead of Chrome. They just go with the stream, and seemingly are content that Google is keeping them on life support.
But it doesn't mean that new browsers will make the same mistakes, or that there is no need for new ones at all.
With that said, I would be lying if I would say that you are completely wrong. I just don't want you to be right, regardless how slim of a chance it is, because the state of internet is not getting any better that way.
Look at the mess any two-party system is comparing to where there are at least three, each keeping the others in check.
A browser is a consumer product. As such the public will gravitate between two choices. 3rd place is no-where land.
Sure 3rd place can exist, but its always a distant 3rd. Trident got canned for a reason. MS phone was a good OS, but sales offered iOS and Android.
We need a stronger second option, not another option. Mozilla at least starts at parity. A new engine now is do far behind, that without Google scales of cash (which is what it took for Chrome to even join the fray) this project cannot go anywhere material.
I'm not a fan of monopolies, but all markets have a leader a follower, and a bunch of minor placings.
It’s a long road for Ladybird to be a real competitor to Chromium. However, the road to overtaking Firefox is much shorter and I’m less hopeful that Mozilla has a road to overtake Chromium.
By contrast Chrome today is perhaps Google's most active development team, and has more or less an unlimited budget.
MS saw IE as a nice-to-have, Google sees Chrome as existential.
Also, while IE was very closed source, Chromium (and Mozilla) are open. That means Ladybird is competing with Brave et al for mind share, and can't play the "we're better cause Open Source " card.
I see this as an uniquely American approach to things. Doesn't extrapolate to the rest of the world.
> Trident got canned for a reason.
Trident got canned because Google used underhanded methods to throw it out.
Gecko remains only because there need to be at least two, independent implementations for a web standard to be pushed through.
As it stands there is no real competition here - Google is calling the shots.