- Trong bối cảnh engine trình duyệt web đang tập trung vào một số ít công ty, Ladybird là một dự án độc lập xây dựng engine mới từ đầu, không fork từ engine hiện có
- Bản Alpha đầu tiên nhắm tới Linux và macOS vào năm 2026; hiện dự án đang trong giai đoạn phát triển tích cực, hướng đến nhà phát triển và người dùng sớm
- Dự án tập trung vào mục tiêu trở thành một engine dựa trên tiêu chuẩn web, và nhấn mạnh điểm khác biệt là vận hành không có hợp đồng tìm kiếm mặc định, token crypto hay kiếm tiền từ người dùng
- Dự án được phát triển dưới dạng mã nguồn mở công khai; có thể tham gia bằng cách báo lỗi, tạo ca tái hiện rút gọn, kiểm thử website, báo cáo vấn đề bảo mật và góp ý kỹ thuật
- Quyên góp và tài trợ là nguồn tài chính duy nhất; nhà tài trợ không có ảnh hưởng đến roadmap kỹ thuật hay định hướng sản phẩm
Mục tiêu và tình trạng hiện tại của Ladybird
- Ladybird là dự án xây dựng mới engine trình duyệt web từ đầu
- Hiện dự án đang được phát triển tích cực, với mục tiêu phát hành bản Alpha đầu tiên cho Linux và macOS vào năm 2026
- Web là một nền tảng quan trọng trong điện toán, nhưng chỉ có số ít engine trình duyệt vận hành toàn bộ web và mỗi engine đều do một công ty cụ thể kiểm soát
- Ladybird là dự án nhằm xây dựng một engine độc lập đặt tiêu chuẩn web làm trọng tâm
Những điểm khác biệt mà dự án nhấn mạnh
-
Tính độc lập hoàn toàn
- Xây dựng engine mới mà không dùng mã của các engine trình duyệt hiện có như Blink, WebKit hay Gecko
-
Trọng tâm duy nhất
- Trọng tâm của dự án chỉ là tạo ra một trình duyệt web
-
Không kiếm tiền từ người dùng
- Không sử dụng hợp đồng tìm kiếm mặc định, token crypto hay các hình thức kiếm tiền từ người dùng khác
Diễn biến phát triển gần đây
- Changing How We Develop Ladybird
- Đang thay đổi cách mã được đưa vào dự án trong quá trình chuẩn bị cung cấp trình duyệt cho người dùng thực tế
- This Month in Ladybird - May 2026
- Bao gồm việc vượt qua Cloudflare Turnstile, cuộn bất đồng bộ trong out-of-process compositor, bật mặc định Media Source Extensions, WebAssembly JIT, chặn nội dung native, trình phân tích cú pháp HTML dựa trên Rust, cache bytecode JS dựa trên đĩa, CSS
@container, @scope, subgrid, v.v.
- This Month in Ladybird - April 2026
- Bao gồm trình xem PDF inline dựa trên pdf.js, frontend GTK4, lịch sử truy cập, phân tích cú pháp HTML suy đoán, biên dịch JS ngoài luồng, DNS bất đồng bộ, CSS anchor positioning, v.v.
- This Month in Ladybird - March 2026
- Bao gồm trình thông dịch assembly viết tay, phân tích cú pháp ngoài luồng, engine biểu thức chính quy mới, Mach port IPC, bookmark, CSS
if(), inherit(), @container, @function, vô hiệu hóa style, v.v.
- This Month in Ladybird - February 2026
- Bao gồm việc áp dụng Rust, cải tổ chỉnh sửa văn bản, tối ưu hiệu năng cho YouTube và Reddit, ScrollTimeline, CSS
@counter-style, relayout một phần cho SVG, v.v.
- Ladybird adopts Rust, with help from AI
- Áp dụng Rust làm ngôn ngữ kế nhiệm C++ và sử dụng tác tử AI để tăng tốc quá trình chuyển đổi
Tham gia và build
- Ladybird là dự án mã nguồn mở được phát triển công khai, do một nhóm nhỏ xây dựng
- Người đóng góp có thể tham gia bằng cách báo lỗi, viết ca tái hiện rút gọn, kiểm thử website, báo cáo vấn đề bảo mật và chia sẻ góp ý kỹ thuật
- Có thể clone mã nguồn và chạy cục bộ
$ git clone https://github.com/LadybirdBrowser/ladybird.git
$ cd ladybird
$ ./Meta/ladybird.py run
Gọi vốn và nguyên tắc tài trợ
- Ladybird vận hành hoàn toàn bằng quyên góp và tài trợ
- Không có hợp đồng tìm kiếm
- Không thu thập dữ liệu
- Không quảng cáo
- Nhà tài trợ được hiển thị trên website và trong các bản cập nhật dự án; thời hạn tài trợ là 1 năm
- Mức tài trợ như sau
- Platinum: $100,000
- Gold: $50,000
- Silver: $10,000
- Bronze: $5,000
- Copper: $1,000
- Liên hệ tài trợ qua contact@ladybird.org
- Cá nhân có thể quyên góp một lần hoặc định kỳ hằng tháng qua Donorbox
- Với khoản quyên góp lớn, dự án hướng dẫn liên hệ trực tiếp để tránh phí xử lý
Các ràng buộc trong FAQ và kế hoạch tương lai
- Bản Alpha đầu tiên nhắm tới Linux và macOS vào năm 2026, dành cho nhà phát triển và người dùng sớm
- Hiện Ladybird có một nhóm kỹ sư toàn thời gian nhỏ, đồng thời nhận kiểm thử, báo lỗi, báo cáo bảo mật và góp ý kỹ thuật từ cộng đồng
- Quy mô đội ngũ đang ổn định; nếu nhu cầu dự án thay đổi, kế hoạch tuyển dụng sẽ được xem xét lại
- Dự án luôn cố gắng duy trì runway 18 tháng
- Việc nói rằng dự án không phải fork của engine hiện có nghĩa là không sử dụng mã của Blink, WebKit, Gecko hay engine trình duyệt nào khác
- Vì lý do lịch sử, dự án sử dụng nhiều thư viện của SerenityOS
- Sau khi Ladybird được fork từ SerenityOS, dự án không bị ràng buộc với văn hóa viết mọi thứ từ đầu
- Dự án dùng thư viện bên thứ ba cho các chức năng chung như định dạng hình ảnh/âm thanh/video, mã hóa và đồ họa, bao gồm cả một số thư viện mà các trình duyệt khác cũng dùng
- Hỗ trợ Windows được triển khai theo từng giai đoạn
- CI đã build và kiểm thử engine JavaScript trên Windows
- Hỗ trợ Windows cho toàn bộ engine trình duyệt sẽ được thực hiện ở giai đoạn sau
- Các kỹ sư toàn thời gian hiện tập trung vào macOS và Linux
- Nền tảng di động hiện chưa phải trọng tâm
- Sau khi phiên bản desktop đạt trạng thái tốt hơn, dự án sẽ đầu tư nhiều nỗ lực hơn cho Android và iOS
- Tài trợ là một hình thức quyên góp không ràng buộc
- Ghế trong hội đồng quản trị hay các hình thức ảnh hưởng khác không được đem ra bán
- Nhà tài trợ không có tiếng nói trong roadmap kỹ thuật hay định hướng sản phẩm
- Ladybird khởi đầu là một dự án C++ trong SerenityOS, nên codebase bắt đầu bằng C++ và phần lớn vẫn là C++
- Sau đó Rust được chọn làm ngôn ngữ kế nhiệm C++
- Các subsystem đang dần được port sang Rust
- Có thể xem chi tiết trong thông báo áp dụng Rust
1 bình luận
Các ý kiến trên Hacker News
Thật sự rất truyền cảm hứng khi thấy anh ấy và các đồng nghiệp hacker xây dựng một trình duyệt độc lập mới từ đầu
Xét đến quy mô nhân lực và tài chính, tôi từng không nghĩ điều đó là khả thi
Mặt khác, tôi cũng tự hỏi liệu giờ đây chúng ta mới đang thấy kết quả của việc các trình duyệt được chuẩn hóa tốt hơn ở khoảng “95%+” các tính năng phổ biến hay không, và vì vậy việc viết một trình duyệt ngày nay có dễ hơn so với việc tạo và duy trì một trình duyệt 10 năm trước hay không
Web vẫn đang tiến hóa, nhưng có cảm giác ổn định hơn so với 10–15 năm trước, và các nhà phát triển ngày xưa khi bắt đầu thiết kế trình duyệt không có một lộ trình hoàn chỉnh như bây giờ
Hiện nay đã có một khối lượng khổng lồ các tiêu chuẩn web, và theo thời gian ta cũng biết được thứ gì từng phổ biến, nên việc ưu tiên hỗ trợ web hiện đại dễ hơn
Nhìn bề ngoài thì có vẻ mọi thứ đều nhiều hơn, nhưng tôi nghĩ cũng có nhiều ý tưởng có thể bỏ qua hơn. Từng có thời Internet Explorer hỗ trợ XSLT và FTP còn phổ biến
Chỉnh sửa: XSLT vẫn được tất cả các trình duyệt lớn hỗ trợ, nhưng hầu như không được dùng và vẫn dừng ở XSLT 1.0, nên có lẽ nó thuộc nhóm có thể bỏ qua một cách khá an toàn trong thời gian dài
Tôi đã làm việc với trình duyệt một cách không liên tục từ năm 2006, và môi trường hiện nay hoàn toàn khác
Đặc tả tốt hơn bao giờ hết, và bộ kiểm thử có thể dùng thì nhiều như một kho báu
Nếu ai đó đe dọa vị thế của Google, Google có thể đổ tiền vào, tạo ra các tiêu chuẩn quá phức tạp, rồi triển khai chúng trong Blink để buộc đối thủ phải chạy theo
Thậm chí không cần đi qua W3C. Nếu nó chạy trong Chrome thì các nhà phát triển web sẽ áp dụng, và các engine nhỏ cuối cùng phải hỗ trợ nếu không muốn mất phần thị phần còn lại
Tầm quan trọng chiến lược của việc kiểm soát Internet hiện nay còn lớn hơn so với 20–30 năm trước, khi Microsoft ở đỉnh cao
Chỉ cần so sánh https://www.ietf.org/rfc/rfc1866.txt với https://html.spec.whatwg.org/multipage/ là thấy
Ngày xưa việc viết trình duyệt web cũng khó vì nhiều lý do, nhưng ngày nay việc tạo một trình duyệt đầy đủ tính năng là một công việc khổng lồ, và các tính năng mới vẫn liên tục được thêm vào trong khi người dùng kỳ vọng trình duyệt phải hỗ trợ
Diện tích bề mặt API đã lớn hơn đến mức không thể so sánh với 10–15 năm trước: https://developer.mozilla.org/en-US/docs/Web/API
Đó còn chưa tính JavaScript, MathML, SVG, các tính năng bảo mật dựa trên HTTP, mã hóa, và các cập nhật hỗ trợ media
Thật đáng kinh ngạc khi một người bắt đầu tạo toàn bộ một hệ điều hành từ đầu để cho vui và để làm điều thú vị, rồi tình cờ tạo ra một trong những engine trình duyệt mới có triển vọng nhất trong 10–20 năm qua
Tôi đã xem các video phát triển trong 1–2 năm qua, và tốc độ tiến triển trong thời gian ngắn như vậy gần như khó tin
Giờ đã có nhiều tình nguyện viên, và cũng có tài trợ đủ để trả tiền cho hơn một lập trình viên, nên tương lai khá đáng mong đợi
Một trong những bí quyết thành công là cách trực tiếp chuyển nhiều đặc tả thành code, và ngày nay đây gần như là cách tốt nhất. Dự án cũng rất thiên về kiểm thử
Khi nói “từ đầu”, điều đó bao gồm cả việc không dùng thư viện chuẩn C++ và có cả lớp chuỗi tự viết; dù tốt hay xấu thì đây là dự án “chỉ để cho vui”, “để học”, nên cũng ổn
Khi chỉ riêng thư viện và OS đã đủ khiến người ta nghĩ là điên rồ, anh ấy lại công bố sẽ thêm trình duyệt và engine JavaScript, rồi sau đó là trình biên dịch JIT, và vì cũng không hoàn toàn hài lòng với C++ lẫn Rust nên còn tạo ra ngôn ngữ mới của riêng mình là Jakt
Điều đáng kính trọng hơn cả chuyên môn là sự khiêm tốn và tử tế. Khác với Linus và một số người khác, anh ấy không nặng tính tự thể hiện; trong mỗi video đều nêu tên từng người đã làm gì và ghi nhận công lao cho họ. Đây là một hình mẫu tuyệt vời của mã nguồn mở
Vẫn rất ấn tượng, nhưng trong chuyện phát triển trình duyệt thì anh ấy không phải người hoàn toàn mới
Hy vọng nó sẽ trở thành một trình duyệt có thể dùng hằng ngày. Web engine mới thật tuyệt, và cũng mong Servo thành công
Tôi cũng có thể cân nhắc đóng góp, nhưng việc điều phối phát triển diễn ra trên Discord, còn tôi thì tránh phần mềm độc quyền… [1]
Tiếc thật, nhưng đây là việc làm cho vui nên cũng không thể trách được
[1] https://drewdevault.com/2022/03/29/free-software-free-infras...
Ông ấy gọi những tác giả quảng bá phần mềm open source trên các kênh như Twitter, Hacker News, LinkedIn, GitHub là “ích kỷ và phi đạo đức một cách trắng trợn”
Kiểu giáo điều này thật khó chịu, và có cảm giác như đang áp đặt một định nghĩa về tự do và open source mang tính thù địch với những người chỉ muốn tạo ra thứ hay ho rồi chia sẻ với thế giới, thậm chí cả những người muốn kiếm tiền từ FOSS
Có quan điểm mạnh như vậy mà lại đăng bài kiểu “Can I be on your podcast”[1] để quảng bá ngôn ngữ lập trình Hare của mình thì thật đáng ngạc nhiên
Không phải ông ấy chỉ tìm những podcast không được phân phối trên các nền tảng như Spotify hay Apple Podcasts; thực tế ông ấy đang quảng bá Hare thông qua nhiều lần xuất hiện
Điều này giống như đạo đức giả
[1]: https://drewdevault.com/2023/11/09/Can-I-be-on-your-podcast....
Tôi thích phần này trong FAQ
“Tại sao phải làm? Không thể tạo một browser engine mới nếu không có hàng tỷ đô la và hàng trăm nhân viên mà.”
“Có thể. Đừng nghe lời những kẻ thất bại khoanh tay đứng nhìn chưa từng làm trình duyệt.”
Thật vui khi thấy cạnh tranh vẫn còn tồn tại trong phát triển browser engine. Cũng có Servo, từng là một phần của Mozilla: https://servo.org/
Tuy vậy, cả Servo lẫn Ladybird vẫn còn rất non nớt so với trình duyệt dùng hằng ngày
Việc không có nightly build để thử Ladybird khá đáng tiếc, có lẽ vì họ không muốn nhận bug report. Nếu mọi thứ vẫn chưa hoạt động thì việc chất đống các lỗi ngẫu nhiên cũng không có ý nghĩa
Tất nhiên đó là vào một thời điểm nào đó năm ngoái và bây giờ có thể chậm hơn, nhưng vẫn còn rất xa so với build Chromium 9 tiếng
Điều đó giúp cuộc sống của maintainer dễ dàng hơn, và rất có thể sẽ thay đổi khi dự án trưởng thành
Tôi rất thích các ảnh chụp màn hình tiến độ này: https://serenityos.org/happy/1st/
Về lập trình, trông anh ấy đúng là một lập trình viên đa năng thực thụ
Thử làm một thí nghiệm tưởng tượng: một loại trình duyệt mới cho một loại web mới thì sao? Rất nhiều phần của CSS đã cũ
Vì vậy, nếu làm một phiên bản “hiện đại”, đặc biệt xoay quanh CSS Grid và Flex, liệu có thể cung cấp cùng chức năng mà gọn gàng hơn không?
Kiểu những câu chuyện cũ như bố cục ba cột “chén thánh” ấy
Cũng khiến nghĩ đến canvas, threejs, react-three-fiber, react-drei. Đặc biệt trên di động, liệu canvas có thể mang lại trải nghiệm người dùng tốt hơn không?
Ai lại viết game di động bằng HTML và CSS? Không có nghĩa là không thể, nhưng tôi tò mò có bao nhiêu website thật sự cần HTML và CSS thay vì canvas
Rào cản lớn trong cuộc cạnh tranh trình duyệt là phải triển khai các công nghệ cũ kỹ, lâu đời. Chỉ dùng HTML tối thiểu và canvas thôi không được sao?
Có lẽ chuyện đó không giúp ích được mấy
Bề mặt API của web đã phình ra như vụ nổ kỷ Cambri, và những thứ hiện đại áp đảo những thứ cũ. Ngay cả khi bỏ hỗ trợ các cơ chế đã lỗi thời hoặc ít dùng hơn, lượng code và độ phức tạp cũng không giảm nhiều như ta tưởng
Vượt ra ngoài bề mặt đơn giản, để triển khai một “hồ sơ lõi giới hạn” ở mức cạnh tranh, đặc biệt nếu phát triển hoàn toàn từ trang trắng mà vẫn tính đến hiệu năng, thì mức kỹ thuật cần có là rất cao
Hiệu ứng long tail cũng mạnh, nên ngay cả đa số website hiện đại cũng phụ thuộc vào các yếu tố cũ ở chỗ này chỗ kia; vì vậy có thể gần như không có trang nào chạy đúng trên trình duyệt giả định đó
Nói cách khác, đây vẫn là một dự án rất lớn và khó. Tất nhiên cộng đồng FOSS cũng đã làm được khá nhiều dự án lớn và khó, nên không có nghĩa là bất khả thi
Nếu muốn tạo ứng dụng, dù là ứng dụng có kết nối hay không, thì đã có Internet và OS rồi. Cũng không cần làm giao diện tệ hơn vì phải vật lộn với trình duyệt
Điều này đặc biệt quan trọng với game hoặc các phần mềm có chiều sâu khác
Cốt lõi ban đầu của web là tập hợp tài liệu được nối với nhau bằng hyperlink, đôi khi có multimedia, và thêm tương tác bằng một ít form và script
Để thấy tình hình hiện tại gượng gạo đến mức nào, cứ tưởng tượng một vũ trụ song song nơi Adobe, thay vì Google, trở nên khổng lồ, và JavaScript trong PDF bị lạm dụng để làm ứng dụng
border-box cũng giải quyết phần lớn nỗi đau của thập niên 2000. Nghe có vẻ là ý hay, nhưng tôi không biết có thể cắt bỏ gì
Bảng vẫn là lựa chọn tốt nhất cho dữ liệu dạng bảng thực sự
Đây là các thread liên quan đang diễn ra và những bài trước đây
Interview with Andreas Kling of Serenity OS (2022) - https://news.ycombinator.com/item?id=39286638 - tháng 2 năm 2024, 134 bình luận
Ladybird browser update (July 2023) [video] - https://news.ycombinator.com/item?id=36939402 - tháng 7 năm 2023, 1 bình luận
Chat with Andreas Kling about Ladybird and developing a browser engine - https://news.ycombinator.com/item?id=36620450 - tháng 7 năm 2023, 65 bình luận
Shopify Sponsored Ladybird Browser - https://news.ycombinator.com/item?id=36502583 - tháng 6 năm 2023, 1 bình luận
I have received a $100k sponsorship for Ladybird browser - https://news.ycombinator.com/item?id=36377805 - tháng 6 năm 2023, 166 bình luận
Early stages of Google Docs support in the Ladybird browser - https://news.ycombinator.com/item?id=33511831 - tháng 11 năm 2022, 84 bình luận
Github.com on Ladybird, new browser with JavaScript/CSS/SVG engines from scratch - https://news.ycombinator.com/item?id=33273785 - tháng 10 năm 2022, 1 bình luận
Ladybird: A new cross-platform browser project - https://news.ycombinator.com/item?id=32809126 - tháng 9 năm 2022, 473 bình luận
Ladybird: A truly new Web Browser comes to Linux - https://news.ycombinator.com/item?id=32014061 - tháng 7 năm 2022, 8 bình luận
Ladybird Web Browser - https://news.ycombinator.com/item?id=31987506 - tháng 7 năm 2022, 2 bình luận
Ladybird Web Browser – SerenityOS LibWeb Engine on Linux - https://news.ycombinator.com/item?id=31976579 - tháng 7 năm 2022, 2 bình luận
Trong khi Mozilla đang bán lại các dịch vụ bảo vệ quyền riêng tư, những người khác đang xây dựng trình duyệt tốt hơn
Cũng chẳng cần đến 6 tỷ đô la
Andreas Kling và dự án SerenityOS rất hay, nhưng không thích việc anh ấy chỉ có mặt trên Twitter
Mastodon có vẻ rất phù hợp với nhóm khán giả của anh ấy
Twitter trước đây cũng từng như vậy hơn, nhưng sau khi Elon mua lại, có cảm giác những người giận dữ nhất đã chuyển sang Mastodon
Tôi thấy trên Mastodon bầu không khí đó rất nổi bật và khó tránh