Ladybird를 포크하고 SerenityOS BDFL에서 사임
(awesomekling.substack.com)- Andreas Kling은 SerenityOS 안에서 자라난 Ladybird를 별도 최상위 프로젝트로 분리하고, SerenityOS의 BDFL 자리에서도 즉시 물러남
- SerenityOS는 2018년 시작된 뒤 1,000명 이상 기여자가 참여하는 오픈소스 커뮤니티로 커졌지만, 데스크톱 OS와 크로스플랫폼 브라우저의 우선순위가 한 공간에 섞여 있었음
- Ladybird는 2022년 크로스플랫폼 프로젝트가 된 뒤 Linux 개발에 무게가 실렸고, 이제 새 GitHub 저장소와 Discord 서버에서 개발과 소통을 이어감
- 분리 이후 Ladybird는 Linux와 macOS를 대상으로 하며, SerenityOS 타깃은 제거되고 더 완화된 NIH 정책으로 외부 오픈소스 생태계를 활용함
- SerenityOS는 maintainer 그룹이 맡아 웹 브라우저 개발 중심의 압박에서 벗어나, “친구들과 재미있는 소프트웨어 해킹”이라는 초점으로 돌아감
Ladybird 분리와 SerenityOS 리더십 변경
- Andreas Kling은 2018년 약물 재활 프로그램을 마친 뒤 SerenityOS 프로젝트를 시작함
- 정상적인 삶을 배우는 동안 여가 시간을 채울 무언가가 필요했고, 새 운영체제 구축이 알맞은 규모의 작업이었음
- 6개월 동안 혼자 작업한 뒤 온라인에 공개하고 다른 사람들의 참여를 초대함
- SerenityOS는 이후 전 세계 1,000명 이상 기여자가 있는 대형 오픈소스 커뮤니티로 성장함
- 서로의 차이를 제쳐두고 프로그래밍에 대한 공통의 애정에 집중하는 문화를 만들어 왔음
- 최근 2년 동안 Kling의 관심은 거의 전적으로 Ladybird에 쏠려 있었음
- Ladybird는 SerenityOS용 단순 HTML 뷰어에서 출발한 새 웹 브라우저임
- 2022년 크로스플랫폼 프로젝트가 되면서 Linux 버전에 집중하게 됐고, Linux 테스트가 더 쉬워 SerenityOS로 부팅할 필요가 없었음
- 지금까지 두 프로젝트는 리소스와 인프라를 공유했지만, 데스크톱 OS를 만드는 그룹과 크로스플랫폼 웹 브라우저를 만드는 그룹의 관심사가 점차 멀어짐
- Ladybird는 개발을 단순화하기 위해 SerenityOS에서 분리된 별도 최상위 프로젝트가 됨
- Kling은 자신이 집중하지 못하는 BDFL로 남아 SerenityOS를 붙잡고 싶지 않다며 즉시 사임함
- SerenityOS는 이제 maintainer 그룹이 맡음
- 이번 결정은 한 공간에 두 큰 프로젝트가 오래 함께 들어가 있었던 상황을 정리하는 변화이며, 별도의 드라마는 없다고 선을 그음
각 프로젝트에 생기는 변화
- Ladybird 개발은 새 GitHub 저장소에서 진행됨
- 일상적인 커뮤니케이션은 새 Discord 서버로 이동함
- Ladybird의 대상 플랫폼은 Linux와 macOS임
- SerenityOS 타깃은 제거됨
- SerenityOS와 달리 “외부 코드 금지”가 아닌 완화된 NIH 정책을 채택하고, 더 넓은 OSS 생태계를 활용함
- SerenityOS에서는 웹 브라우저 구축에 대한 강한 집중이 사라짐
- “친구들과 재미있는 소프트웨어 해킹”이 다시 주요 초점이 됨
- 이후 방향은 커뮤니티가 결정함
- 두 프로젝트는 각자의 주된 관심사에 더 잘 집중할 수 있게 됐고, 이 분리가 양쪽 모두에 더 나은 미래로 이어질 것으로 기대됨
댓글과 토론
Hacker News 의견들
-
SerenityOS 타깃을 왜 제거하는지 궁금함
이제 SerenityOS의 Ladybird는 개발을 계속하려면 새 Ladybird 프로젝트에서 패치를 계속 가져와야 하는 건가 싶음
또 새 프로젝트가 Ladybird 이름을 그대로 가져가면 정말 포크라고 부를 수 있는지도 애매함. SerenityOS의 브라우저 이름을 바꿔야 하는지, 아니면 같은 이름의 두 Ladybird가 갈라져 존재하게 되는지 궁금함- 포크 이유는 이 항목과 관련 있어 보임: Ladybird는 SerenityOS와 달리 “서드파티 코드 금지”가 아니라 느슨한 NIH 정책을 적용하고 더 큰 오픈소스 생태계를 활용하겠다는 부분
SerenityOS는 기존 구현보다 더 나은 방식을 알아보기 위해 처음부터 운영체제를 만들려는 프로젝트임. Ladybird가 그 운영체제까지 타깃으로 삼으면 서드파티 라이브러리를 쓰면서 호환성을 유지하기 어려워지고, macOS와 Linux만 지원하면 훨씬 쉬워짐 - 내가 알기로 SerenityOS의 브라우저는 Ladybird라고 불린 적이 없고, 항상 그냥 Browser였음
https://github.com/SerenityOS/serenity/tree/master/Userland/...
Ladybird는 그 브라우저의 크로스플랫폼 버전에 붙은 이름이었음
https://awesomekling.github.io/Ladybird-a-new-cross-platform... - 아마 Ladybird는 포트가 될 가능성이 큼. 지금 SerenityOS 안에 있는 LibWeb을 어떻게 할지는 아직 정해지지 않았음
SerenityOS의 브라우저는 예전처럼 “Browser”라는 이름으로 돌아갈 가능성이 큼 - Andreas가 말했듯 SerenityOS는 서드파티 라이브러리에 의존하지 않지만, 새 Ladybird의 방향은 NIH 증후군을 줄이는 것이기 때문임
https://news.ycombinator.com/item?id=40561408 - SerenityOS의 핵심 초점은 코드를 직접 작성하는 데 있으니 서드파티 코드 금지 정책이 있음. 이번 포크는 브라우저가 서드파티 코드를 쓰게 하려는 성격이 커서, 이제 Mozilla를 포팅하는 것보다 나을 게 없어 보이고 둘은 영구히 갈라질 것 같음
- 포크 이유는 이 항목과 관련 있어 보임: Ladybird는 SerenityOS와 달리 “서드파티 코드 금지”가 아니라 느슨한 NIH 정책을 적용하고 더 큰 오픈소스 생태계를 활용하겠다는 부분
-
Andreas는 뛰어난 코더이면서 괴짜들을 잘 이끄는 커뮤니티 빌더이기도 함
실용적인 이유로 분리하는 건 납득됨. 개인적으로도 운영체제 해킹보다 브라우저 해킹에 더 열정이 있어 보이고, 본인이 쓴 것처럼 최근 1년가량은 OS보다 Ladybird 기여가 더 많았음
SerenityOS는 훌륭한 개발자들의 기여를 깎아내리려는 건 아니지만, 32비트, 1990년대식 외형, 주요 운영체제와의 비호환, 급진적으로 새로운 OS 개념 부재 때문에 결과물로서는 장난감 OS에 더 가까움. 반면 Ladybird는 대형 기술 기업들과 경쟁할 수 있는 크로스플랫폼 브라우저가 될 독특한 위치에 있음
SerenityOS는 결과물 자체보다 처음부터 코드를 작성하는 과정에 더 의미가 있어 보임. “대기업만 브라우저를 만들 수 있다”, “아무도 처음부터 OS를 만들 수 없다”는 말을 반박하고, 코딩 자체를 즐기는 목적이 큼
남는 문제는 Ladybird의 것을 가능한 한 많이 SerenityOS로 가져가는 일임- 몇 년 동안 지켜보며 이 주제에 대해 썼던 댓글을 전부 지웠지만, 이번에는 솔직하게 써보려 함
같은 사실들을 놓고 다르게 보면, 대형 기술 기업과 경쟁할 독특한 위치에 있다고 여겨진 멋진 사람이 이끄는 OS 프로젝트가 있었고, 그 OS에는 웹 브라우저가 필요했으며, 그래서 브라우저 프로젝트가 생겼음
이제 그 웹 브라우저가 대형 기술 기업과 경쟁할 독특한 위치가 되었고, 그래서 스스로를 포크하고 원래 OS 지원을 끊어야 한다는 결론이 나옴. 그 이유는 이제 OS 프로젝트가 장난감이 되었기 때문임
지웠던 마지막 댓글에는 Andreas에 대한 깊은 존경과, 브라우저의 다음 이정표로 내려받을 수 있는 빌드나 프리알파에서 알파로 넘어가는 것을 보고 싶다는 내용이 있었음. 내려받을 수 있는 빌드가 없다는 건 아직 프리알파라는 경고처럼 보였음
부정적이거나 지지하지 않는 사람처럼 보이고 싶지 않아 몇 년 동안 댓글을 지웠지만, 자기 프로젝트를 한다는 것이 실제로 어떤 모습인지에 대한 정확한 신호는 중요함. OS나 웹 브라우저처럼 멋져 보이는 일의 진척 속도까지 포함해서임
17살 때부터 그런 일을 꿈꿨고, 성공과 실패를 주의 깊게 관찰하는 데 주로 시간을 쓰며 18년을 준비한 뒤에야 독립적으로 성공할 수 있었음
- 몇 년 동안 지켜보며 이 주제에 대해 썼던 댓글을 전부 지웠지만, 이번에는 솔직하게 써보려 함
-
Ladybird는 SerenityOS가 얻지 못했던 수준의 대중적 관심을 얻었음
브라우저는 훨씬 더 많은 사람에게 영향을 줄 잠재력이 있고, 큰 투자자들에게 자금도 잘 받고 있음
Andreas가 이 시점에 Ladybird로 초점을 옮기는 건 자연스러움
Safari는 Safari답게 굴고 Firefox는 구석에서 접착제를 먹고 있는 상황이라, Ladybird가 브라우저 시장의 진짜 경쟁자가 되면 좋겠음- 이 속도라면 MDN이나 wpt.fyi에 올라갈 만큼 완성되기까지도 수십 년이 걸릴 가능성이 큼
그래도 동의함. Microsoft가 독자 Edge를 버리고 Chromium 기반으로 갔고 Opera도 같은 길을 가면서, 실제 엔진은 3개만 남았음. 네 번째 선택지로 그나마 나은 건 Pale Moon 같은 Goanna 기반 브라우저인데, 이것도 Firefox의 이른 포크일 뿐임
완전히 새롭고 신선한 선택지는 강력한 회사가 뒤에 없더라도 웹의 개방성을 지키는 데 큰 도움이 될 수 있음 - 큰 투자자들에게 자금을 잘 받고 있다면, 왜 분리 발표에는 그 얘기가 없는지 궁금함
그 투자자들이 틈새 취미 플랫폼에 자원을 낭비하고 싶지 않아서 SerenityOS 지원 중단을 촉발한 건가 싶음 - Firefox에 대한 흔한 비난을 빼면 동의함. Ladybird는 유망하고 SerenityOS보다 영향력을 낼 가능성이 훨씬 큼
다만 아직 거의 1인 프로젝트처럼 보이는 건 아쉬움. 특히 Chrome과 Firefox의 성능에 가까워지려면 큰 투자가 필요함
JavaScript를 빠르게 만드는 데만 투입되는 공학 자원은 정신이 아득할 정도임. 그래도 “그냥” 가볍고 표준을 대체로 따르며 성능이 그럭저럭 충분한 브라우저만 제공해도 훌륭할 것임
며칠 전 JavaScript 성능을 다룬 영상을 보니 목표가 JIT 없이 JavaScriptCore 성능에 도달하는 것이라고 함. 실망스럽지만 이해는 됨 - Ladybird도 좋지만 Servo와 Netsurf도 계속 개발되면 좋겠음
- 동의함. 20년 넘은 브라우저가 아닌 선택지가 생기면 좋겠음. 불가능하다고들 하지만, 지금 이건 진짜 기회임
- 이 속도라면 MDN이나 wpt.fyi에 올라갈 만큼 완성되기까지도 수십 년이 걸릴 가능성이 큼
-
Andreas Kling의 YouTube 채널도 확인해볼 만함
https://www.youtube.com/@awesomekling/videos
Ladybird 개발에 대한 월간 업데이트를 올리고, 그가 해결한 일들과 겪고 있는 문제를 볼 수 있음
최근 업데이트:
Ladybird browser update (May 2024) (https://www.youtube.com/watch?v=n4YBMjlGWRc)
Ladybird browser update (Apr 2024) (https://www.youtube.com/watch?v=LBl-fa-YJFE)
Ladybird browser update (Mar 2024) (https://www.youtube.com/watch?v=dKHopzDtElY) -
한 시대가 끝난 느낌임. Andreas가 SerenityOS YouTube 영상에서 OS의 여러 기능을 직접 내려가며 구현하던 걸 즐겨 봤음
UI, 에뮬레이터, 게임 포트, JS와 Jakt 프로그래밍 언어, JIT, 커널까지 한 영상 코딩 세션에서 다뤘고, SerenityOS는 전체 코드베이스가 단일 소스 트리에 유지된다는 점에서도 독특했음
Ladybird가 더 이상 SerenityOS를 타깃으로 삼지 않게 된 만큼, SerenityOS에 대한 관심은 이제 줄어들 것 같음- 확실히 하나의 여정이었음. 코드는 기여하지 않았지만 색상 테마와 이모지는 기여했음
코딩을 못 하는데도 Andreas의 Serenity 영상은 늘 즐거웠고, 일부 코딩 영상도 좋았음. 이런 영상들은 특별했고 오래 마음에 남을 것임
- 확실히 하나의 여정이었음. 코드는 기여하지 않았지만 색상 테마와 이모지는 기여했음
-
지금까지 본 “xyz를 포크합니다” 글 중 가장 친절한 포크 발표였음
전체적으로 따뜻하게 느껴졌고, 비슷한 종류의 다른 글들과 달리 Ladybird나 SerenityOS에 실제로 기여해볼까 하는 생각까지 들게 함- 분노나 비슷한 감정 때문에 한 일이 아니기 때문임. 작은 프로젝트가 커졌고, 더 큰 프로젝트를 잠식하기 시작했다는 걸 본 것임
그래서 개발자는 성장하는 프로젝트를 별도 공간으로 옮기고, 다른 프로젝트도 살아남게 하려 한 것임
굳이 말하자면 애정에서 나온 결정임
- 분노나 비슷한 감정 때문에 한 일이 아니기 때문임. 작은 프로젝트가 커졌고, 더 큰 프로젝트를 잠식하기 시작했다는 걸 본 것임
-
꽤 흥미로움. 한동안 Andreas의 GitHub 후원자였는데, 후원자 입장에서는 이게 무엇을 의미하는지 궁금함
이제 Ladybird 작업만 후원하는 건가? 이미 한동안 그랬던 건가? SerenityOS 프로젝트에도 GitHub Sponsors가 있는지 궁금함
개인적으로는 어차피 브라우저 쪽에 더 관심이 커졌으니 계속 Andreas를 후원할 생각임. 다만 이게 벤처 투자나 대기업 인수 같은 일의 전조가 아니라면 말임- 후원해줘서 정말 고마움 :)
발표에 쓴 것처럼 이미 약 2년 동안 주로 Ladybird 작업을 해왔으니, Andreas를 후원한 것은 실제로 Ladybird 개발을 후원한 셈이었음
SerenityOS 자체에는 GitHub Sponsors가 없지만, Polar를 통해 특정 이슈 작업을 직접 후원할 수 있음. https://polar.sh/SerenityOS 참고
걱정하지 않아도 됨. 벤처 투자나 대기업 인수 같은 일은 없을 것임
- 후원해줘서 정말 고마움 :)
-
이 분리가 OS 자체에 투입될 자원을 풀어준다면 좋은 선택일 수 있음
x86 OS로서의 SerenityOS는 흥미롭지만 중복되는 느낌이고, ARM이나 RISC-V 및 다른 임베디드 플랫폼으로 포팅된다면 즉시 관심이 갈 것 같음
많은 회사가 계측 화면이나 GUI 기본 요소를 보여줘야 하는 수직 애플리케이션을 만들 때 느린 Android나 웹 기반 솔루션을 이미 쓰고 있음. 이런 영역에는 네이티브이고 빠른 대안이 절실함
SerenityOS는 그런 시스템에 완전히 불필요한 잡다한 요소를 가져오지 않으므로, 어떤 경우에는 적합한 도구가 될 수 있다고 봄- SerenityOS에는 ARM과 RISC-V 모두에 대해 이미 부분적으로 동작하는 포트가 있음
https://github.com/SerenityOS/serenity/tree/master/Kernel/Ar...
- SerenityOS에는 ARM과 RISC-V 모두에 대해 이미 부분적으로 동작하는 포트가 있음
-
아쉽다. Andreas와 함께 SerenityOS를 해킹하던 건 지금까지 해본 일 중 가장 재미있는 일 중 하나였음
Ladybird에서 행운이 있기를 바라며, 가끔은 돌아오기를 바람. TYVC가 되는 것도 좋겠음 :)