Đó là một phần của triết lý mã nguồn mở "nếu bạn muốn một cái gì đó được thực hiện, lấy một cái xẻng." Đương nhiên, nó giảm khối lượng công việc cho các nhà phát triển nếu người dùng chỉ đơn giản tự biên dịch chương trình. Không cần phải lo lắng về tất cả các kiến trúc, hệ điều hành, v.v ...
Nhưng, nếu bạn đang tạo một sản phẩm ở cấp độ người tiêu dùng (Firefox, Paint.NET, Audacity, Keepass, v.v.) và bạn quan tâm đến việc có được người dùng, bạn nên luôn luôn, luôn luôn, luôn luôn! bao gồm nhị phân. Có lẽ chỉ có 2% những người vấp ngã trên trang web của bạn và quan tâm đến sản phẩm của bạn, sẽ:
- Tải xuống ứng dụng khách SCM thích hợp
- Kiểm tra toàn bộ bản sao của cây nguồn
- Tải xuống IDE hoặc các công cụ biên dịch cần thiết (dễ dàng vài trăm MB cho một số dự án)
- Tải xuống và cài đặt tất cả các phụ thuộc cần thiết (và đặt các biến môi trường)
- Chạy một trình biên dịch mới (dễ dàng xử lý 10 phút cho một số dự án)
- Xử lý bất kỳ lỗi hoặc vấn đề hoặc phát sinh (mà trong các dự án nhỏ có thể không được ghi lại - "oh yeah, mới nhất thực sự là viết lại chi nhánh, không phải thân cây!")
- Gỡ cài đặt mọi thứ hoặc để lại tất cả trên máy tính của bạn và biên dịch lại để cập nhật.
(Rõ ràng trên linux mọi thứ sẽ gọn gàng hơn, nhưng hầu hết người tiêu dùng vẫn sử dụng Windows.)
Người mới nói dễ dàng hơn nhiều khi nói "ooh, phiên bản Windows! Tải xuống. Chạy".
Tuy nhiên, nhiều dự án nguồn mở không ở cấp độ người tiêu dùng; họ nhắm vào các lập trình viên, những người có khả năng chịu đựng cao hơn đối với loại thử thách này, và vì vậy các nhị phân là DIY. Theo kinh nghiệm của tôi, các lập trình viên có thể lười biếng như người dùng, vì vậy, được cảnh báo. :)