Phần mềm bản quyền là gì? Phân biệt bản quyền sản phẩm và bản quyền mã nguồn?
Phần mềm sở hữu độc quyền đi kèm giấy phép chủ yếu hạn chế quyền của người sử dụng, trong khi phần mềm tự do, phần mềm tự do nguồn mở và phần mềm nguồn mở thì đi kèm các giấy phép nhằm đảm bảo quyền của người sử dụng và hy sinh một số quyền của các tác giả viết ra nó.

Giống như bất kỳ loại bản quyền nào khác, bản quyền phần mềm được thiết lập khi một chương trình phần mềm được viết và tạo ra bởi một hoặc nhiều lập trình viên. Chủ sở hữu bản quyền phần mềm có thể là một cá nhân, một nhóm người hoặc một công ty đã thuê người khác phát triển chương trình. Tuy nhiên, có một số khía cạnh nhất định của chương trình phần mềm làm cho các bản quyền này phức tạp hơn một chút so với một số hình thức bản quyền khác và luật bản quyền phần mềm vẫn là một lĩnh vực nghiên cứu pháp lý đang phát triển. Vậy phần mềm bản quyền là gì và có những quy định như thế nào về sử dụng bản quyền phẩn mềm.

1. Phần mềm bản quyền là gì?

– Bản quyền phần mềm (Copyrighted software) là việc áp dụng bản quyền theo luật đối với phần mềm. Mặc dù nhiều cuộc tranh luận về các nguyên tắc pháp lý và chính sách liên quan đến bản quyền phần mềm có sự tương đồng chặt chẽ với các lĩnh vực khác của luật bản quyền, nhưng có một số vấn đề đặc biệt nảy sinh với phần mềm. Bài viết này chủ yếu tập trung vào các chủ đề đặc biệt đối với phần mềm.

– Bản quyền phần mềm được sử dụng bởi các nhà phát triển phần mềm và các công ty phần mềm độc quyền để ngăn chặn việc sao chép trái phép phần mềm của họ. Giấy phép nguồn mở và miễn phí cũng dựa vào luật bản quyền để thực thi các điều khoản của họ. Ví dụ: giấy phép copyleft đặt ra nghĩa vụ đối với người được cấp phép phải chia sẻ các sửa đổi của họ với người dùng hoặc chủ sở hữu.


– Bản quyền phần mềm là biện pháp bảo vệ hợp pháp để ngăn mọi người sao chép tài sản trí tuệ của họ mà không được phép hoặc sử dụng nó theo bất kỳ cách nào mà họ không đồng ý.

– Bản quyền phần mềm là một hình thức bảo vệ bản quyền được cung cấp cho các lập trình viên và nhà sản xuất chương trình phần mềm . Các quyền này ban đầu được thiết lập bởi các tòa án vẽ ra sự song song giữa mã nguồn của một chương trình và chính chương trình thực thi, và các bản thiết kế cho các cấu trúc kiến ​​trúc và chính cấu trúc đó. Vì kiến ​​trúc có thể được bảo vệ theo luật bản quyền, nó là sự mở rộng hợp lý của luật bản quyền vào thời điểm đó để cung cấp sự bảo vệ tương tự cho mã nguồn và phần mềm máy tính. Bản quyền phần mềm hiện nay thường được coi là tương đương với bản quyền văn học, trong đó các dòng mã tương tự như các câu chữ được viết trong một tác phẩm văn học. 

2. Giấy phép phần mềm là gì?

Giấy phép phần mềm (hay giấy phép phần mềm trong cộng đồng sử dụng) là một phương tiện pháp lý chi phối việc sử dụng và tái phân phối phần mềm được bảo vệ bản quyền. Một giấy phép phần mềm điển hình trao người dùng cuối quyền sử dụng một hay nhiều bản sao chép của phần mềm theo những cách mà nếu không tuân thủ theo nó sẽ dẫn đến cấu thành việc xâm phạm tính độc quyền của nhà phát hành phần mềm, theo luật bản quyền. Về hiệu lực, giấy phép phần mềm hoạt động như một lời cam kết từ nhà phát hành phần mềm rằng sẽ không kiện người dùng cuối nếu họ tiến hành các hoạt động thông thường nằm trong những quyền độc quyền được xem như thuộc về nhà phát hành.

3. Giấy phép mã nguồn mở là gì?

Giấy phép mã nguồn mở là loại giấy phép cho phần mềm máy tính và các sản phẩm khác cho phép mã nguồn, bản thiết kế hoặc thiết kế được sử dụng, sửa đổi và/hoặc chia sẻ theo các điều khoản và điều kiện được xác định. Điều này cho phép người dùng cuối và các công ty thương mại có thể sửa đổi mã nguồn hoặc thiết kế cho các nhu cầu tùy chỉnh hoặc khắc phục một vấn đề nào đó. 

Các giấy phép chỉ cho phép phân phối lại phi thương mại hoặc sửa đổi mã nguồn cho sử dụng cá nhân thường không được coi là giấy phép nguồn mở. Tuy nhiên, giấy phép nguồn mở có thể có một số hạn chế, đặc biệt liên quan đến việc thể hiện nguồn gốc của phần mềm, chẳng hạn như yêu cầu giữ nguyên tên của tác giả và tuyên bố bản quyền trong mã hoặc yêu cầu phân phối lại phần mềm được cấp phép chỉ theo cùng một giấy phép (như trong giấy phép copyleft).

4. Khác nhau giữa bản quyền sản phẩm với bản quyền mã nguồn (source code)

Theo luật bản quyền, mã nguồn (source code) tương tự như một tác phẩm văn học (hoặc một cuốn sách). Và, giống như bất kỳ bài viết nào khác, mã nguồn được đăng ký bản quyền ngay lập tức bất kể tác giả có đăng ký với Cục bảo vệ bản quyền hay không.

Ngay cả khi  source code có bản quyền, bạn vẫn có thể có nhiều quyền khác nhau để sử dụng source code đó mà không cần sửa đổi. Hãy tưởng tượng giá trị sử dụng của  source code  giống như một tờ dải quang phổ có một đầu là màu lạnh và một đầu là màu nóng. Ở một đầu của quang phổ, gam lạnh là mã thuộc phạm vi sử dụng công cộng; thông qua sự cho phép rõ ràng của tác giả hoặc mã không còn được bảo vệ bản quyền. Ở đầu kia của quang phổ là mã không cung cấp giấy phép sử dụng; trong trường hợp đó, bạn bị nghiêm cấm sao chép mã đó cho đến khi bạn nhận được giấy phép.

Giá trị sử dụng của source code thay đổi theo thời gian, phản ánh tuổi đời của công nghệ gắn với source code đó. Source code càng có "tuổi", càng khó bảo trì do không còn tìm được nhân sự trên thị trường. Khi đó việc tranh cãi về bản quyền source code gần như ít khi xảy ra.

Giá trị của source code cũng tăng hay giảm phụ thuộc vào sản phẩm dựng trên nó, tương tự như giá trị bất động sản có thể thay đổi nếu có con đường lớn sắp được xây. Nếu sản phẩm được nhiều người quan tâm, thì giá trị source code cũng tăng lên và do đó việc sở hữu bản quyền source code là cần thiết để bảo vệ giá trị của sản phẩm.

Có nhiều tranh cãi xảy ra giữa một bên cho rằng bản quyền sản phẩm cũng có nghĩa là sở hữu source code vĩnh viễn. Trong thực tế, bản quyền sản phẩm thuộc về khách hàng hoặc chủ đầu tư, nhưng bản quyền source code có thể thuộc về nhà phát triển. Tùy vào điều khoản hợp đồng, các thỏa thuận sở hữu source code có thể đạt được nếu không có vi phạm nào về lợi ích giữa các bên.

5. Quy định về sử dụng bản quyền phần mềm

– Một trong những vấn đề lớn nhất liên quan đến luật bản quyền phần mềm là những thông tin nào được bảo vệ liên quan đến phần mềm. Tương tự như các tác phẩm văn học, source code tạo nên một chương trình máy tính bao gồm các ý tưởng đã được định hình và hình thành thông qua các dòng mã chứ không phải là từng câu từng chữ cụ thể. Bản quyền phần mềm thường sẽ bảo vệ theo cách mà những ý tưởng này được thể hiện cụ thể thông qua các ý tưởng trong source code thí dụ như cấu trúc mã nguồn, cấu trúc cơ sở dữ liệu, thuật toán, thư viện lõi....

Bản quyền source code

Đây là lý do tại sao các chương trình máy tính tương tự có thể có các khía cạnh hình ảnh và âm thanh có vẻ khá giống nhau về bản chất và thiết kế. Bản thân ý tưởng đằng sau cách bố trí hệ điều hành (OS) hoặc chương trình chỉnh sửa video không được bảo vệ bởi bản quyền và vì vậy các lập trình viên khác có thể sử dụng một khái niệm tương tự. Tuy nhiên, mã cụ thể được sử dụng để thực hiện khái niệm đó được bảo vệ bởi các luật như vậy và sự phân biệt này có thể khó xác định rõ ràng.

– Giống như nhiều loại hình sáng tạo có bản quyền khác, chẳng hạn như sách, phim và âm nhạc, bản chất chính xác của việc bảo vệ bản quyền trên một chương trình phần mềm được nêu rõ ràng để khách hàng đọc và hiểu. Điều này thường có dạng Thỏa thuận cấp phép người dùng cuối (EULA), cho biết ai là người giữ bản quyền đối với một chương trình và cách người dùng có thể sử dụng chương trình. Tuy nhiên, những tuyên bố như vậy thường phức tạp hơn những thông báo bản quyền ngắn gọn đi kèm với sách và phim, do đó, hiểu biết thông thường về các biện pháp bảo vệ bản quyền phần mềm có thể khá hạn chế.

Quy định về vi phạm bản quyền phần mềm:  Khi chạy một chương trình trên máy tính, thường không thể tránh khỏi việc sao chép một số đoạn mã vì thông thường có một số quá trình sao chép chương trình tự động diễn ra trong bộ nhớ của máy tính để cho phép phần mềm hoạt động. Đặc biệt, với phần mềm, bản quyền không chỉ bị xâm phạm khi sao chép trực tiếp tác phẩm gốc mà còn bị xâm phạm bởi các phiên bản phỏng theo tác phẩm gốc.

Ví dụ: nếu mã (mã nguồn hoặc mã đã biên dịch) được viết lại hoặc được chuyển đổi sang ngôn ngữ máy tính khác, điều này cũng bị coi là vi phạm luật bản quyền phần mềm vì nó là một tác phẩm ‘phái sinh’ và giấy phép phù hợp là yêu cầu để làm điều này.

– Bản quyền phần mềm cũng có thể bị vi phạm mà không cần sao chép mã. Ví dụ: sử dụng một chương trình gốc để lấy “cảm hứng”, để tạo ra cùng một chức năng trong một chương trình mới. Ngay cả khi không có mã gốc nào thực sự được sử dụng, bản quyền trong chương trình gốc trong một số trường hợp có thể bị vi phạm.

Bản quyền phần mềm là một lĩnh vực luật phức tạp và đang phát triển và không giống như các tác phẩm nghệ thuật khác, các bản sao phần mềm được bán với các điều khoản cụ thể kèm theo, để làm nổi bật những gì cấu thành cách sử dụng được chấp nhận.

– Quy định về cách đăng ký bản quyền phần mềm: Bản quyền phần mềm chủ yếu được sử dụng bởi  các nhà phát triển phần mềm và chủ sở hữu phần mềm độc quyền để ngăn chặn việc sao chép trái phép phần mềm của họ. Chủ sở hữu bản quyền thường là người tạo ra tác phẩm hoặc nhà xuất bản hoặc doanh nghiệp khác đã được chuyển nhượng bản quyền. Chủ sở hữu bản quyền thường xuyên đưa ra các biện pháp pháp lý và công nghệ để ngăn chặn và trừng phạt vi phạm bản quyền (thường được gọi là vi phạm bản quyền) trong đó các tác phẩm được bảo vệ bởi luật bản quyền được sử dụng mà không được phép.

Đối với các tác phẩm là phần mềm, các ứng dụng dùng ngôn ngữ "thông dịch" như JavaScript và các ngôn ngữ dạng thiết kế như HTML, CSS..., mã nguồn chủ yếu là nơi tồn tại bản quyền và thông báo bản quyền phải được chèn vào tiêu đề của tất cả các tệp mã nguồn, tệp trợ giúp, hướng dẫn sử dụng và / hoặc các trang ‘về phần mềm này’, để thực hiện khẳng định bản quyền rõ ràng.
Ngôn ngữ biên dịch (trái) và ngôn ngữ thông dịch (phải). Ngôn ngữ thông dịch không được biên dịch (mã đóng) nên rất dễ bị sao chép.
Ngôn ngữ biên dịch (trái) và ngôn ngữ thông dịch (phải). Ngôn ngữ thông dịch không được biên dịch (mã đóng) nên rất dễ bị sao chép.

– Ở những nơi không có sự sao chép trực tiếp mã, từng dòng một, rất khó để chứng minh rằng việc sao chép đã thực sự xảy ra. Một cách để cố gắng phát hiện việc sao chép dễ dàng hơn là đưa mã dự phòng hoặc các thành phần chương trình vào giữa mã thực. Nếu một bản sao bị cáo buộc bao gồm các thành phần chương trình dư thừa giống nhau, ngay cả khi chúng không phải là các bản sao từng dòng, thì có thể đưa ra một suy luận rất chắc chắn rằng việc sao chép đã xảy ra.

– Các nhà cung cấp phần mềm độc lập  nên rất cẩn thận về việc tiết lộ mã nguồn. Nếu ai đó có thể tạo từ đầu những gì bạn đã tạo ra một cách độc lập, chỉ bằng cách xem mã nguồn của bạn, với điều kiện là mã khác về cơ bản thì bản quyền phần mềm của bạn đã không bị vi phạm. Việc sửa đổi phần mềm có bản quyền của bạn cho mục đích sử dụng cá nhân cũng có thể được coi là có thể chấp nhận được theo cảnh báo ‘sử dụng hợp pháp’, đồng thời phá mã (reverse) và thiết kế ngược khi có thể đưa ra ‘lý do chính đáng’ để làm như vậy. Tuy nhiên, cuối cùng mọi hành vi sử dụng trái phép phần mềm đều bị coi là vi phạm bản quyền, do tác hại thương mại của việc vi phạm chủ sở hữu bản quyền.

HỎI ĐÁP VỀ BẢN QUYỀN PHẦN MỀM (FAQ)

Nếu bạn sở hữu mã nguồn, bạn (không phải nhà phát triển) có quyền quyết định ai sẽ làm việc trên phiên bản tiếp theo. Nếu nhà phát triển sở hữu mã nguồn, bạn sẽ phải làm việc với nhà phát triển đó. Hơn nữa, nếu nhà phát triển sở hữu mã nguồn, họ có thể sử dụng trong các dự án khác cho các khách hàng khác.

Cả bằng sáng chế và bản quyền đều bảo vệ phần mềm khỏi hành vi trộm cắp theo luật. Mỗi người bảo vệ một phần khác nhau của phần mềm. Bằng sáng chế bảo vệ ý tưởng, trong khi bản quyền bảo vệ source code.

Đối với source code phát triển nội bộ hay được xây dựng bên ngoài, không cần thông báo bản quyền về mặt pháp lý. Tình huống tuân thủ quyền tác giả chỉ xảy ra khi source code đã được đính kèm thông báo bản quyền của một người khác. Trước khi phát hành source code ra bên ngoài, bao gồm cả bản giao source code cho chủ đầu tư, bạn cần làm theo hướng dẫn bảo vệ bản quyền hoặc các nghĩa vụ tuân thủ của bên sử dụng source code. Thí dụ trong 12 tháng bảo hành, để đảm bảo rằng phần mềm hoạt động ổn định và khách quan, bên nắm giữ source code không được phán tán cho một bên thứ 3 trừ phi hợp đồng quy định khác.

Nếu một lập trình viên viết mã phần mềm, source code sẽ thuộc về người sử dụng lao động của họ. Nếu một nhà thầu phát triển phần mềm, họ sẽ giữ quyền sở hữu mã nguồn trừ khi 'hợp đồng dịch vụ' quy định khác.

Tất cả phần mềm nguồn mở có thể được sử dụng cho mục đích thương mại. Định nghĩa nguồn mở đảm bảo điều này. Bạn thậm chí có thể bán phần mềm nguồn mở. Tuy nhiên, lưu ý rằng thương mại không giống như độc quyền.


Phát triển phần mềm tinh gọn là gì?
Lean Software Development (Phát triển Phần mềm Tinh gọn) là hình thức áp dụng Lean Manufacturing (Sản xuất Tinh gọn) cho lĩnh vực phát triển phần mềm.