Thật ra dưới góc nhìn của dev thì đương nhiên ai cũng không muốn người khác đọc source code của mình rồi. Việc tại sao người dùng có thể xem được mã nguồn liên quan đến tốc độ (mạng) + lịch sử nhiều hơn.
Ban đầu web mục đích chính là truyền tải nội dung, chứ không bao gồm xử lý, nên việc truyền một chuỗi thay vì “mã hóa” nó bằng hình ảnh sẽ có lợi hơn rất nhiều. Ông Tim Bernie Lee đề ra 2 nền tảng của web - html và http, đồng thời khái niệm web browser render từ mã nguồn gốc ra nội dung hiển thị cho người dùng bắt đầu từ đây. Các bổ sung sau cho web, bao gồm css, javascript đều dựa trên cơ chế này: Trao quyền cho phép trình duyệt đọc và render, xử lý nội dung, thứ 2 phải đảm bảo tốc độ tải trang, nhất là thời xưa.
Việc truyền chương trình thực thi sau khi đã biên dịch (giúp che giấu mã nguồn, tránh phụ thuộc vào công nghệ web - trình duyệt) là hoàn toàn có thể thực hiện được, và khá nhiều tổ chức đã thực hiện điều này: JavaFX/Java Applet - Oracle, Flash - Adobe, Silverlight - Microsoft… Nhưng như bạn thấy nó chết dần chết mòn dù một số khá thành công như Flash. Điểm yếu chung của nó là tốc độ tải trang - cực kỳ chậm và vấn đề bảo mật. Một vấn đề khác đó là nó không cho phép bên thứ 3 có thể đọc nội dung - google chẳng hạn. Do đó việc sử dụng javascript nhằm tương tác với html, giao toàn bộ quyền cho web browser vẫn tỏ ra tốt hơn - ở thời điểm hiện tại.
Vậy thật ra câu trả lời là thà lộ mã nguồn còn hơn là người dùng rời bỏ mình
.