2010-04-30 22 views
5

Tôi tò mò rằng liệu tất cả các sản phẩm PHP phải được mở nguồn nếu nó được triển khai đến trang web của người khác. Vì mã PHP được thực thi bằng cách diễn giải, nếu tôi có sản phẩm PHP được triển khai trên máy chủ của người khác, có vẻ như không có lý do gì để ngăn người khác xem mã nguồn.Có thể tạo ra sản phẩm PHP có nguồn gốc đóng cửa không?

Vì vậy, sản phẩm PHP được mệnh là nguồn mở, phải không?

Để chính xác hơn, giả sử tôi tạo một hệ thống blog PHP. Tôi muốn bán sản phẩm này cho một số công ty lưu trữ blog. Có đúng là tôi không thể ngăn họ xem mã nguồn của tôi nếu họ mua nó?

Trả lời

1

Có, điều đó là có thể. Zend Guard có thể mã hóa mã nguồn của bạn. Sau đó, máy chủ chỉ cần sử dụng Zend Optimizer để có thể thực thi ứng dụng của bạn

Tôi chưa bao giờ thử nó, vì vậy tôi không có kinh nghiệm.

7

Open source là về giấy phép để lấy mã nguồn và không về khả năng để xem nó ... Ngay cả với các ngôn ngữ biên soạn nó có thể trích xuất mã nguồn - mà không tự động làm cho mã nguồn mở - nhưng bất kỳ giấy phép mã nguồn mở nào thậm chí có thể biến mã nhị phân này thành nguồn mở.

2

Đưa mã không được biên soạn hoặc không bị làm phiền lên máy chủ không đủ điều kiện là "nguồn mở". Là mã nguồn mở, mã phải được phân phối theo một cách nhất định theo các hướng dẫn nhất định. Đơn giản chỉ cần đặt mã trên một máy chủ không làm cho nó mã nguồn mở.

Có nhiều dự án trong các ngôn ngữ được biên dịch là mã nguồn mở.

0

số

Vâng, nó mệnh được "nguồn mở" theo nghĩa là bất cứ ai có quyền truy cập vào các máy chủ sẽ có thể để xem nó.

Dự án "nguồn mở" thực sự có mã nguồn được phân phối. Nếu không ai có quyền truy cập vào máy chủ thì họ không thể nhận được mã nguồn anyways. Tuy nhiên, nếu bạn viết một ứng dụng cho một công ty, và đặt mã trên máy chủ của họ, họ sẽ có quyền truy cập vào nguồn và có thể kiểm tra/sửa đổi nó. Đây không phải là một vấn đề mặc dù bởi vì về mặt kỹ thuật họ sở hữu mã (nếu họ trả tiền cho nó).

+0

Tại sao lại là một ý tưởng tồi? – rjh

+0

Câu trả lời đã chỉnh sửa và xem http://www.codinghorror.com/blog/2005/05/obfuscating-code.html –

+0

"... về mặt kỹ thuật, họ sở hữu mã (nếu họ trả tiền cho nó)." Đó là một điều hợp đồng và hoàn toàn KHÔNG nhất thiết phải đúng. Mang Windows - bạn trả tiền cho nó, nhưng bạn chắc chắn không có quyền kiểm tra hoặc sửa đổi nó. Trong câu hỏi của OP, có vẻ như anh ta đang bán một sản phẩm được cấp phép, và anh ấy chắc chắn có thể viết thỏa thuận cấp phép để cấm thay đổi mã. (Điều này trái ngược với một công việc hợp đồng mà bản quyền sẽ có khả năng phù hợp với công ty mua sắm.) – josh3736

0

người mà tôi đã nhìn thấy điều này trước đây:

exec(base64_decode('')); 

Mặc dù không phải là "hoàn hảo" nó có thể ẩn nó từ Lookers tò mò. Tuy nhiên, tôi sẽ không khuyên bạn nên ẩn mã của bạn mặc dù. Nếu bạn làm cho nó trong các sản phẩm nguồn mở, ứng dụng sẽ là nguồn mở. Chỉ cần tát vào một giấy phép trên đó.

Các vấn đề liên quan