Buổi hoàng hôn của phần mềm độc lập
Phần mềm có thể chia thành hai loại: loại do công ty phát triển và loại do cá nhân phát triển. Loại thứ hai được gọi là "phần mềm độc lập" (indie software). Lịch sử của nó rất lâu đời.
Buổi hoàng hôn của phần mềm độc lập
Ảnh bìa

Huyện Vu Sơn được xây dựng trên sườn núi. Để thuận tiện cho cư dân và thúc đẩy tham quan, thang cuốn Thần Nữ đã được xây dựng trên trục chính với tổng chiều dài 905 mét, cao hơn 240 mét, tương đương tòa nhà 80 tầng. Toàn bộ hành trình mất khoảng 20 phút. (via)
Buổi hoàng hôn của phần mềm độc lập
Phần mềm có thể chia thành hai loại: loại do công ty phát triển và loại do cá nhân phát triển. Loại thứ hai được gọi là “phần mềm độc lập” (indie software).
Lịch sử của nó rất lâu đời. Từ xưa đến nay, rất nhiều lập trình viên đã dựa vào việc bán phần mềm độc lập để mưu sinh.

Có một thứ gọi là “Shareware” (phần mềm chia sẻ), những người bạn trẻ ngày nay có lẽ không biết, nhưng nó từng cực kỳ phổ biến cách đây 20-30 năm. Người dùng sử dụng miễn phí bản dùng thử, nếu thấy hài lòng thì mua mã đăng ký từ nhà phát triển.
Đó chính là một dạng phần mềm độc lập. Nhiều phần mềm nổi tiếng thời đó đều theo mô hình này, như WinZip và WinRAR của nước ngoài, hay NetAnts, FlashGet và Hero Video Player của Trung Quốc.

Đến hôm nay, hãy nhìn xem những phần mềm đang phổ biến hiện nay có bao nhiêu cái thuộc về phần mềm độc lập? Những phần mềm bạn dùng hàng ngày, có bao nhiêu cái do cá nhân phát triển?
Rất, rất ít.
Một nhà phát triển phần mềm độc lập với 20 năm kinh nghiệm đã than thở rằng: Trên thị trường hiện nay, tỷ trọng của các công ty phát triển ngày càng lớn, trong khi tỷ trọng của cá nhân ngày càng nhỏ. Phần mềm độc lập đang lụi tàn.
“Tôi đã bán phần mềm của riêng mình được 20 năm rồi. Sau năm 2005, khi internet bắt đầu phổ biến, phần mềm độc lập đã bước vào thời hoàng kim. Nhưng hai ba năm trở lại đây, môi trường đang thay đổi nhanh chóng, việc bán hàng rõ ràng trở nên khó khăn hơn. Tôi cảm thấy việc duy trì sinh kế ngày càng trở nên chật vật.”
Sự phát triển rầm rộ của phần mềm độc lập bắt đầu từ năm 2005 nhờ các yếu tố:
- Sự phổ cập của internet, số lượng cư dân mạng tăng vọt.
- Điện thoại thông minh tạo ra phần mềm di động, một thị trường phần mềm hoàn toàn mới và khổng lồ.
- Sự phổ biến và đơn giản hóa của thanh toán trực tuyến.
- Internet giúp việc phân phối phần mềm trở nên dễ dàng và miễn phí.
- Các công cụ phát triển chất lượng cao miễn phí (compiler, IDE, hệ thống quản lý phiên bản, web server) liên tục xuất hiện.
Những yếu tố này đã thực sự mang lại lợi ích cho lập trình viên. Nếu bạn làm SEO tốt hoặc mua quảng cáo trả phí, việc kiếm được khoản tiền lớn là hoàn toàn khả thi. Nhiều người đã phát triển từ phần mềm độc lập trở thành các công ty lớn theo cách này.
Tuy nhiên, tình hình đã thay đổi trong hai ba năm qua, những yếu tố trên đã đi đến giới hạn.
Phần mềm độc lập đang dần rút lui. Số lượng phần mềm độc lập mà bạn có thể gọi tên ngày càng ít đi, chứ chưa nói đến việc bỏ tiền ra mua, và nếu có thì cũng là những tác phẩm từ nhiều năm trước. Theo quan sát của tôi, số lượng lập trình viên sống dựa vào việc bán phần mềm của chính mình dường như cũng đang giảm dần.
Dưới đây là một vài nguyên nhân chính:
(1) AI thay đổi lưu lượng truy cập internet, phần mềm độc lập mất đi kênh quảng bá. Lượt truy cập trang web giảm đáng kể, con người tương tác với các mô hình lớn nhiều hơn là duyệt web. Chiến lược thu hút lưu lượng qua công cụ tìm kiếm và quảng cáo trực tuyến ngày càng kém hiệu quả.
Video là một trong số ít các kênh quảng bá vẫn còn hiệu quả, nhưng việc làm video rất tốn thời gian và cạnh tranh cực kỳ khốc liệt. Ngoài ra, các video kém chất lượng do AI tạo ra sớm muộn cũng sẽ xuất hiện tràn lan, làm hiệu quả quảng bá giảm sút.
(2) AI giúp việc phát triển phần mềm trở nên dễ dàng hơn. Nó đẩy nhanh tốc độ phát triển, hạ thấp rào cản gia nhập, khiến nhiều người tham gia cạnh tranh hơn. Trước đây, người dùng có thể mua một chức năng nào đó, nay họ có thể trực tiếp bảo AI tạo ra cho mình.
(3) Phần mềm mới mọc lên như nấm, ngày càng khó để trở nên nổi bật. App Store của iPhone có khoảng 2 triệu ứng dụng, người dùng rất khó phát hiện ra bạn. Mặt khác, các kho ứng dụng cũng ưu tiên quảng bá phần mềm của các công ty lớn vốn có thể mang lại cho họ nhiều tiền hơn.
(4) Con người ngày càng quen dùng phần mềm chạy trên web. Phần mềm độc lập vốn thuộc loại ứng dụng native cần tải về và cài đặt, và thị trường này đang co hẹp lại.
Phần mềm trên web giống như một dịch vụ hơn là một sản phẩm, một dịch vụ sẵn sàng 24/7. Ngày càng nhiều nhà phát triển cá nhân thích ứng với xu hướng này bằng cách chuyển sang cung cấp dịch vụ SaaS.
(5) Rủi ro từ nền tảng. Nhiều phần mềm độc lập hiện nay phụ thuộc vào nền tảng hoặc dịch vụ lõi của các nhà cung cấp đám mây. Các nền tảng này có thể thay đổi luật chơi bất cứ lúc nào (như đóng API) hoặc tung ra sản phẩm cạnh tranh, khiến hàng loạt ứng dụng chết theo. Chuyện này vốn chẳng hiếm gặp.
(6) Người dùng kỳ vọng phần mềm là miễn phí hoặc cực kỳ rẻ. Chỉ cần giá cao một chút là sẽ chẳng ai thèm ngó ngàng. Do đó, để phần mềm độc lập có được lợi nhuận đáng kể, nó cần một quy mô doanh số khổng lồ, điều vốn bất khả thi. Chưa nói đến việc các nhà phát triển cá nhân hoàn toàn không đủ nguồn lực để cung cấp dịch vụ chăm sóc khách hàng thỏa đáng.
(7) Những yếu tố trên sẽ tồn tại lâu dài, chỉ có trầm trọng thêm chứ không đảo ngược. Thời đại của phần mềm độc lập có lẽ thực sự sắp kết thúc. Các nhà phát triển cá nhân sau này có lẽ khó có thể sống dựa vào việc bán phần mềm của mình mà phải chuyển sang bán các dịch vụ SaaS do mình duy trì, dù điều đó cũng chẳng hề dễ dàng.
Tin tức công nghệ
VS Code của Microsoft là trình soạn thảo mã nguồn cực kỳ phổ biến với thị phần rất cao.
Hiện nay trên trang chủ, nó được định vị là “Trình soạn thảo mã nguồn AI mã nguồn mở”.

Tuy nhiên, vào nửa đầu năm 2025, định vị của nó vẫn là “Trình soạn thảo mã nguồn của bạn, được định nghĩa lại bởi AI”.

Xa hơn nữa vào năm 2024, định vị là “Định nghĩa lại việc chỉnh sửa mã nguồn”.

Thật đáng cảm thán, một phần mềm thành công như vậy, AI vốn chỉ là chức năng phụ trợ, nay cũng phải chạy theo trào lưu, tự đóng gói mình thành một sản phẩm do AI dẫn dắt.
Các nhà nghiên cứu Anh đã phát minh ra một loại khăn đeo cổ thông minh. Khi đeo quanh cổ, nó có thể cảm nhận được nhịp tim và chuyển động cơ vùng cổ của người đeo.

Đối tượng người dùng chính là những người mất khả năng ngôn ngữ sau đột quỵ. Những người này có thể mở miệng, tạo hình khẩu hình nói nhưng không thể phát âm bình thường.
Khi đeo chiếc khăn này, dữ liệu chuyển động vùng cổ sẽ được truyền tới máy tính. Qua quá trình huấn luyện mô hình, máy tính có thể dùng giọng nói nhân tạo để khôi phục lại những gì người dùng muốn nói.
Robot hình người đâu nhất thiết phải làm giống hệt người.
Disney vừa ra mắt một robot với hình dáng chú tuyết Olaf trong phim “Frozen”.

Nó được dùng để tương tác với du khách tại công viên Disney.


Điều này gợi ý cho chúng ta rằng robot hình người làm theo hình dạng hoạt hình cũng rất tuyệt.

Ngoài ra, tại triển lãm CES Mỹ, công ty LG cũng đã trình diễn robot làm việc nhà mới nhất của họ.


Chức năng của robot này là làm việc nhà như gấp quần áo và rửa bát. Tôi nghĩ các hãng trong nước có thể học tập, khi trình diễn robot đừng chỉ cho nó nhảy múa đánh võ mà hãy cho thấy nó làm việc nhà như thế nào.
Bài viết
- Đừng dùng MySQL nữa, hãy chuyển sang MariaDB (Tiếng Anh)

MySQL từng là ngôi sao trong làng cơ sở dữ liệu, nhưng số lượng code được commit trong vài tháng qua gần như bằng không (ảnh trên). Tác giả cho rằng các dấu hiệu cho thấy Oracle đã bỏ rơi dự án này.
- Có kết quả AI code review trong 10 giây (Tiếng Anh)

Bài viết giới thiệu một mẹo để AI đưa ra kết quả review code cực nhanh bằng cách đừng đưa cả codebase lên mà chỉ đưa phần diff thôi.
- Dùng Pandoc để tạo trang web tĩnh (Tiếng Anh)

Công cụ chuyển đổi định dạng tài liệu Pandoc có thể được dùng để tạo trang web tĩnh. Tác giả chia sẻ cách mình đã thực hiện.
- Những điều ít biết về thẻ
<a>(Tiếng Anh)

Thẻ <a> dùng để tạo liên kết, bài viết giới thiệu về việc liên kết đến một số ký tự đặc biệt.
- Học về Custom Elements (Tiếng Anh)

Một bài hướng dẫn về HTML Custom Elements, viết rất đơn giản và rõ ràng.
- Vài suy nghĩ về Go, Rust và Zig (Tiếng Anh)

Tác giả là một lập trình viên cao cấp, chia sẻ cảm nhận về ba ngôn ngữ Go, Rust và Zig. Điểm thú vị là cả ba đều không có lớp (class) và không hỗ trợ lập trình hướng đối tượng.
- Hạ tầng cá nhân của tôi (Tiếng Anh)

Tác giả giới thiệu về homelab của mình. Khá thú vị là trang web cá nhân của ông được build cục bộ rồi tự động dùng Syncthing để đồng bộ lên server. Với các trang web tĩnh quy mô nhỏ thì cách này thực sự đơn giản.
Công cụ

Ứng dụng đọc ebook mã nguồn mở, hỗ trợ cả desktop và di động (Android/iOS).

Ứng dụng desktop đa nền tảng để debug API, đối trọng với Postman + JMeter.
- Port Sentinel (Cảnh binh cổng)

Ứng dụng desktop cho Windows để xem tình trạng chiếm dụng các cổng.

Công cụ mô phỏng ánh sáng mặt trời 3D cho các tòa nhà trên web, giúp người mua nhà đánh giá mức độ đón sáng của căn hộ.

Một ứng dụng web Office chạy hoàn toàn cục bộ, có thể tạo/chỉnh sửa các tệp Word, Excel, PowerPoint ngay trên trình duyệt mà không cần internet.

Công cụ chụp ảnh màn hình trang web trực tuyến miễn phí, có cung cấp API để bạn chèn trực tiếp mã chụp ảnh vào trang web.
Một triển khai mới cho giao thức đăng nhập SSH server với đặc điểm là kết nối không bị ngắt quãng, có thể khôi phục lại phiên làm việc trước đó.

Ứng dụng web mã nguồn mở để gửi và nhận tệp tin thông qua mã QR động.

Một plugin cho hệ điều hành router OpenWRT, có thể giám sát lưu lượng thời gian thực và đích đến của từng thiết bị trong mạng LAN.

Công cụ tạo gia phả trực tuyến mã nguồn mở dựa trên Next.js + Supabase.

Trang web này giúp chuyển đổi tệp Markdown sang HTML miễn phí và xuất bản thành một trang web có thể truy cập công khai.
Liên quan đến AI

Tính năng dịch thuật mới được OpenAI âm thầm ra mắt, hiện chỉ có sẵn trên trang chủ chính thức.

Ứng dụng desktop đa nền tảng để tìm kiếm tệp tin cục bộ bằng ngôn ngữ tự nhiên.

Một bản thay thế mã nguồn mở cho sản phẩm CoWork mới của Anthropic, giúp người dùng phổ thông không biết lập trình vẫn có thể thực hiện các thao tác với tệp tin. Định vị của nó chính là “phiên bản không lập trình của Claude Code”.
Cũng có một dự án tương tự mang tên Open Claude Cowork.
- Wolfcha (Chà Sát)

Game ma sói AI trên web mã nguồn mở. Ngoài chính bạn ra, tất cả các nhân vật khác (phù thủy, thợ săn, bảo vệ, ma sói…) đều do AI đóng vai.
Tài nguyên

Wikipedia lên sóng vào ngày 13/01/2001, năm nay tròn 25 năm. Đây là trang web kỷ niệm chính thức, trình bày quá trình phát triển dưới dạng tương tác.
Ngoài ra còn có bài viết giới thiệu về lịch sử của Internet Archive.


Trang web này giúp bạn xem các HTTP header trả về từ một trang web bất kỳ và giải thích chi tiết ý nghĩa của từng trường.

Giáo trình ngôn ngữ Java dành cho người mới bắt đầu.
Hình ảnh
Những bức ảnh của nhiếp ảnh gia Gen Z Chử Vệ Dân chụp về các công trình năng lượng mới của Trung Quốc.
Ông chia sẻ: “Rất khó để cảm nhận quy mô của những nhà máy điện này từ dưới mặt đất, nhưng khi bạn bay lên không trung, bạn sẽ thấy mối tương quan giữa chúng với núi non, sa mạc và đại dương.”
Thị trấn Lạnh Hồ, Thanh Hải

Huyện Tượng Sơn, Chiết Giang

Tháp Lạp Than, Thanh Hải

Alxa, Nội Mông

“Ban đầu tôi chỉ chụp phong cảnh, nhưng khi đi du lịch qua Quý Châu, Vân Nam, Thanh Hải vào năm 2022, tôi liên tục thấy các trang trại điện gió và điện mặt trời xuất hiện trong ống kính. Tôi nhận ra đây chính là câu chuyện của thời đại chúng ta nhưng hầu như chưa có ai ghi lại nó một cách hệ thống.”
Trích dẫn
Cách đây khoảng 14 năm, tôi gia nhập Google và nghĩ rằng công việc này chỉ đơn giản là viết code thật tốt.
Suy nghĩ đó đúng một phần. Nhưng theo thời gian, tôi ngày càng nhận ra rằng những kỹ sư thực sự thành công không nhất thiết phải là những lập trình viên giỏi nhất, mà là những người biết làm chủ mọi thứ nằm ngoài những dòng code.
Dưới đây là những kinh nghiệm tôi rút ra được. Có những bài học tôi phải mất vài tháng đi đường vòng mới có được, cũng có những bài học mất hàng năm trời mới lĩnh hội hết. Chúng đều không liên quan đến công nghệ cụ thể nào cả vì công nghệ thay đổi quá nhanh.
(1) Muốn tồn tại ở công ty lớn, kỹ sư phải học cách giao tiếp.
Bởi ở các công ty lớn, đội ngũ là đơn vị cơ bản của tổ chức. Để thúc đẩy dự án, bạn phải giao tiếp với các đội ngũ khác. Dự án càng lớn, thời gian bạn dành để giao tiếp với con người và các nhóm khác càng nhiều, thậm chí nhiều hơn cả thời gian viết code. Đa số các đội ngũ “chậm chạp” thực tế là những đội ngũ không biết giao tiếp.
Để giao tiếp trôi chảy, sự rõ ràng là yêu cầu tiên quyết. Nó không chỉ đẩy nhanh tiến độ mà còn giảm thiểu rủi ro cho code. Những kỹ sư giỏi nhất luôn dùng những dòng code rõ ràng, dễ hiểu thay vì phô diễn kỹ thuật.
Để cải thiện khả năng diễn đạt, bạn có thể thử viết lách hoặc dạy lại cho người khác. Nếu bạn có thể giải thích điều gì đó bằng ngôn ngữ đơn giản, nghĩa là bạn thực sự hiểu nó.
(2) Muốn được thăng tiến, phải có người nói tốt cho bạn.
Hồi đầu sự nghiệp, tôi từng nghĩ kết quả công việc tốt là tất cả, nhưng tôi đã nhầm. Code nằm im lìm trong repo, nó không biết tự nói tốt cho bạn.
Những cuộc họp quan trọng nhất đối với bạn, rất có thể bạn sẽ không có cơ hội tham gia. Bạn cần cấp trên, đồng nghiệp nhắc đến bạn và đề cử bạn trong cuộc họp đó. Họ có thể làm vậy, hoặc không.
Trong công việc hàng ngày, hãy cố gắng đừng tạo ra lực cản cho chính mình. Nếu trong các cuộc họp, bạn luôn giành phần thắng trong mọi cuộc tranh luận, rất có thể bạn đang tích lũy những lực cản thầm lặng. Bạn “thắng” không phải vì bạn thuyết phục được người khác, mà vì họ không muốn tranh cãi với bạn nữa, họ bỏ cuộc và sẽ thể hiện sự bất mãn đó ở những dịp khác.
(3) Tập trung vào những gì bạn có thể kiểm soát, phớt lờ những gì nằm ngoài tầm tay.
Có nhiều thứ bạn không thể thay đổi được, đừng mất công phiền lòng vì chúng. Đây không phải là sự chấp nhận thụ động mà là sự phân bổ nguồn lực chiến lược. Nếu bạn lãng phí năng lượng vào những thứ không thể thay đổi, bạn đang từ bỏ cơ hội để thay đổi những thứ vốn có thể thay đổi được.
(4) Đơn giản hóa công việc thường mang lại hiệu quả cao hơn.
Khi hệ thống chạy chậm, phản ứng đầu tiên của mọi người thường là thêm tầng cache, xử lý song song hoặc dùng thuật toán thông minh hơn. Đôi khi làm vậy là đúng, nhưng tôi thấy việc xóa bỏ những công việc không cần thiết hầu như luôn mang lại hiệu quả cao hơn. Lần tới khi muốn tối ưu, hãy tự hỏi xem công việc đó liệu có đáng để tồn tại hay không.
(5) Thời gian quý hơn tiền bạc, hãy biết nắm bắt.
Đầu sự nghiệp, bạn dùng thời gian đổi lấy tiền bạc, việc gì cũng làm và điều đó không sao cả. Nhưng đến một giai đoạn nào đó, tình hình sẽ hoàn toàn khác. Bạn sẽ bắt đầu nhận ra thời gian mới là tài nguyên không thể tái tạo. Hãy tập trung vào những thứ quan trọng nhất đối với bạn và từ bỏ những thứ còn lại.
Trích dẫn
1.
Chữ A trong AGI (Trí tuệ nhân tạo tổng quát) thực ra là viết tắt của Advertisement (Quảng cáo).
— Một lập trình viên bình luận về việc OpenAI thông báo chèn quảng cáo vào các cuộc hội thoại AI
2.
Phim của Netflix không theo đuổi hiệu ứng thị giác vì đa số khán giả xem trên điện thoại, máy tính bảng và laptop. Nội dung không được làm cho màn ảnh rộng mà được làm cho màn hình nhỏ.
— Matt Damon, nam diễn viên nổi tiếng người Mỹ
3.
Tôi chưa từng thấy nhóm người nào nhiệt tình chia sẻ kiến thức như các lập trình viên. Các ngành nghề khác đều giữ khư khư kiến thức và bí mật nghề nghiệp, còn lập trình viên thì cung cấp miễn phí mã nguồn, sách vở, bài viết blog, slide thuyết trình, video hướng dẫn…
Trong lĩnh vực lập trình không có gì là thần thánh bất khả xâm phạm cả. Nếu bạn muốn học, bạn có thể tìm thấy sách miễn phí, mã nguồn đầy đủ, diễn đàn, phòng chat, mailing list, các buổi offline, bài blog, video bài giảng, hướng dẫn và mọi tài nguyên bạn cần. Chỉ cần bạn ngỏ ý, luôn có ai đó sẵn lòng giúp đỡ và chia sẻ hết mình.
— “Tôi đã học mọi kiến thức lập trình như thế nào”
4.
Trong bản iOS 26 năm nay, một số thành phần UI đã tận dụng màn hình HDR để hiển thị vùng sáng mạnh, sáng hơn cả màu trắng thuần túy. Nếu bạn từng xem ảnh HDR trên iPhone (hoặc bất kỳ màn hình nào hỗ trợ HDR), rồi nhìn lại các UI hiển thị ở chế độ SDR, bạn sẽ thấy nó trông xám xịt và xỉn màu đến thế nào.
— “Sự lạm dụng chế độ sáng”, tác giả nhận thấy iOS mỗi năm một sáng hơn, dễ gây mỏi mắt khiến ông buộc phải dùng chế độ tối
5.
Nếu bạn muốn chỉ trích cách vận hành của các tổ chức lớn, trước tiên hãy tìm hiểu tại sao họ lại vận hành như vậy. Nếu không, lời chỉ trích sẽ nghe có vẻ sắc sảo nhưng thực ra lại vô nghĩa.
— “Những hiểu lầm phổ biến về các công ty phần mềm lớn”
(Hết)