phần Mở đầu, Kết luận và Danh mục tài liệu tham khảo, nội dung của luận văn gồm 3 chƣơng: 6 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chƣơng 1: Khái quát chung về Chƣơng trình máy tính và bảo hộ Chƣơng trin ̀ h máy tin ́ h Chƣơng 2: Nhƣ̃ng quy đinh ̣ về bảo hô ̣ sở hữu trí tuệ đối với Chƣơng trình máy tính theo pháp luật Việt Nam hiện hành Chƣơng 3: Thực trạng và những kiến nghị nhằm hoàn thiện pháp luật, nâng cao hiệu quả bảo hộ Chƣơng trình máy tính tại Việt Nam 7 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chƣơng 1 KHÁI QUÁT CHUNG VỀ CHƢƠNG TRÌNH MÁY TÍNH VÀ BẢO HỘ CHƢƠNG TRÌNH MÁY TÍNH 1. Khái niệm và phân loại Chƣơng trin ̀ h máy tính 1. Khái niệm Chương trình máy tính Mặc dù ―CTMT‖ (tiếng Anh: computer program) từ lâu đã trở thành một thuật ngữ thông thƣờng và đƣợc sử dụng phổ biến trong cuộc sống thƣờng nhật, không phải lúc nào khái niệm này cũng đƣợc hiểu đúng theo nội hàm của nó. Khái niệm của các thuật ngữ nhƣ ―CTMT‖, ―thuật toán‖, ―mã nguồn‖, ―mã máy‖ … không phải là một chủ đề phổ biến của những tranh luận trong công nghệ phần mềm hàng ngày.
Nhƣng khi xem xét dƣới góc độ pháp lý, việc đƣa ra đƣợc khái niệm cho những thuật ngữ này với nội hàm đầy đủ và chính xác lại là nhu cầu tất yếu. Về mặt bản chất, CTMT có thể đƣợc định nghĩa là một sự kết hợp của các chỉ thị máy tính và định nghĩa dữ liệu cho phép phần cứng của máy tính thực hiện các chức năng tính toán và điều khiển [31]. Cụ thể hơn, CTMT bao gồm cả mã nguồn và mã máy. Mã nguồn đƣợc gắn hƣớng dẫn của ngƣời lập trình theo một ngôn ngữ lập trình.
Mã nguồn thƣờng giống nhƣ tiếng Anh và con ngƣời có thể đọc đƣợc. Tuy nhiên, để phần cứng có thể hiểu đƣợc những chỉ thị đƣợc gắn với mã nguồn, mã nguồn này cần đƣợc dịch thành những chỉ thị máy có thể hiểu đƣợc bằng cách sử dụng những trình biên dịch. Những trình biên dịch này tạo ra một phiên bản mã máy của chƣơng trình mà máy có thể đọc đƣợc. Mã máy này thƣờng bao gồm một chuỗi các ký tự nhị phân và con ngƣời không thể trực tiếp đọc hiểu đƣợc.
Phần cứng đọc mã máy, thực hiện những chỉ thị máy tính, và tƣơng tác với ngƣời dùng bằng giao diện mà họ có thể hiểu đƣợc. Hiểu đƣợc bản chất nhƣ trên chúng ta có thể thấy rằng những ngƣời sử dụng CTMT có thể đƣợc chia thành 02 loại. Phần đông ngƣời dùng là những 8 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ngƣời dùng phổ thông chỉ quan tâm đến giao diện cuối là kết quả điện toán của mã máy. Đồng thời có một số ngƣời dùng muốn truy cập vào mã nguồn của CTMT để họ có thể đọc, sao chép và sửa đổi nó.
Điều này giải thích tại sao hầu hết các CTMT đƣợc bán ra không bao gồm mã nguồn mà chỉ cung cấp mã máy. Điều này có nghĩa là chủ sở hữu CTMT không cho phép những ngƣời viết CTMT khác nhìn thấy những chỉ thị máy tính thể hiện cách thức CTMT hoạt động. Mã nguồn cho thấy cách thức giải quyết vấn đề của tác giả CTMT khi viết ra chƣơng trình đó và là đầu mối quan trọng của CTMT. Đó là lý do tại sao mã nguồn của CTMT luôn là trung tâm của những tranh cãi liên quan đến bảo hộ quyền [34].
Nhìn chung, định nghĩa về CTMT trong pháp luật các quốc gia đều có xu hƣớng phù hợp với mô tả kỹ thuật về bản chất của CTMT nhƣ trên, ví dụ: CTMT là sự thể hiện các lệnh kết hợp dành cho máy tính để làm cho máy tính vận hành được và đạt kết quả nhất định. (Điều 2, Luật bản quyền Nhật Bản 1985) CTMT là tổng thể các chỉ dẫn hoặc các lệnh được sử dụng trực tiếp hoặc gián tiếp trong một máy tính để tạo ra một kết quả nhất định. (Luật chung về bí mật thƣơng mại của Hoa kỳ, sửa đổi năm 1980) CTMT là tổng thể các lệnh hoặc các từ ngữ được sử dụng một cách trực tiếp hoặc gián tiếp trong một máy tính để tạo ra một kết quả đặc biệt, bất kể các lệnh hoặc các từ ngữ này được diễn đạt, định hình, đưa vào hoặc nhập vào bằng cách nào. (Luật chung về bí mật thƣơng mại của Canada năm 1989) [23, tr17] Tƣơng tự nhƣ vậy, Luật SHTT Việt Nam đƣa ra định nghĩa CTMT nhƣ sau: CTMT là tập hợp các chỉ dẫn được thể hiện dưới dạng các lệnh, các mã, lược đồ hoặc bất kỳ dạng nào khác, khi gắn vào một 9 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com phương tiện mà máy tính đọc được, có khả năng làm cho máy tính thực hiện một công việc hoặc đạt được một kết quả cụ thể.
CTMT được bảo hộ dưới dạng tác phẩm văn học, dù thể hiện dưới dạng mã nguồn hay mã máy. [26,Khoản 1, Điều 22] Khi phân tích khái niệm CTMT, hầu hết các bài viết, luận văn hay công trình nghiên cứu đều phân tích đồng thời khái niệm ―phần mềm‖ (software) hay ―CTMT‖ (computer software) và cuối cùng thống nhất rằng mặc dù theo quy định của pháp luật Việt Nam, khái niệm CTMT có nội hàm rộng hơn PMMT, về cơ bản 02 khái niệm này đồng nhất với nhau và không có sự khác biệt về mặt pháp lý. Mặc dù vậy, để phù hợp với việc phân tích các quy định theo luật SHTT Việt Nam, luận văn này sử dụng thuật ngữ CTMT. Việc sử dụng thuật ngữ phần mềm để thay thế ở một số đoạn là để phù hợp với ngữ cảnh và cách dùng quen thuộc đã phổ biến và đƣợc thừa nhận rộng rãi 1.
Phân loại Chương trình máy tính Có rất nhiều tiêu chí cũng nhƣ cách thức để phân loại CTMT, tuy nhiên, có 02 cách phân loại phổ biến nhƣ sau: a. Căn cứ vào phƣơng thức hoạt động của Chƣơng trình máy tính Căn cứ vào phƣơng thức hoạt động và lĩnh vực xử lý của CTMT ngƣời ta phân chia CTMT thành 02 loại: CTMT hệ thống và CTMT ứng dụng. Chương trình máy tính hệ thống CTMT hệ thống là những CTMT đảm nhận công việc tích hợp và điều khiển các thiết bị phần cứng đồng thời tạo ra môi trƣờng thuận lợi để các CTMT khác và ngƣời sử dụng có thể thao tác trên đó nhƣ một khối thống nhất mà không cần phải quan tâm đến những chi tiết kỹ thuật phức tạp bên dƣới nhƣ cách thức trao đổi dữ liệu giữa bộ nhớ chính và đĩa, cách hiển thị văn bản lên màn hình … [11, tr. Nói cách khác, CTMT hệ thống là chƣơng trình đƣợc thiết kế để thao 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com tác trực tiếp trên phần cứng máy tính.
Các CTMT hệ thống là nền tảng để những chƣơng trình ứng dụng có thể chạy đƣợc. Các hệ điều hành (Windows, Linux, MacOS) là ví dụ tiêu biểu cho nhóm phần mềm này. Hệ điều hành quản lý các tài nguyên hệ thống nhƣ CPU, RAM… và cung cấp những dịch vụ cần thiết để các chƣơng trình khác chạy trên nó. Dù vậy, hệ điều hành không phải là CTMT hệ thống duy nhất, chúng cần phải đƣợc cài đặt cùng với nhiều chƣơng trình hệ thống khác để máy tính có thể hoạt động.
Chúng bao gồm các CTMT hỗ trợ hệ thống (hệ thống quản lý cơ sở dữ liệu, các chƣơng trình giám sát viễn thông, các tiện ích hệ thống giám sát hiệu năng và an ninh) và các CTMT phát triển hệ thống (chƣơng trình dịch ngôn ngữ lập trình, các môi trƣờng lập trình, Các gói chƣơng trình về kỹ nghệ phần mềm có máy tính hỗ trợ). Ngoài ra, quan trọng không kém gì hệ điều hành, các driver (trình điều khiển phần cứng) đƣợc viết để điều khiển các thiết bị đƣợc gắn vào máy tính. Mỗi thiết bị cần ít nhất một driver tƣơng ứng. Bởi vì một hệ điều hành cần tối thiểu một thiết bị nhập và một thiết bị xuất nên nó cần hơn một driver để có thể dùng đƣợc.
Rõ ràng là máy tính sẽ không hoạt động đƣợc khi thiếu hệ điều hành, và cũng không thể hoạt động đƣợc khi thiếu các CTMT hệ thống khác. Trên thực tế, khi mua giấy phép sử dụng một hệ điều hành (mua đĩa CD cài hệ điều hành, mua quyền tải xuống và cài đặt hệ điều hành …), ngƣời dùng cũng đã đƣợc kèm theo quyền sử dụng các CTMT hệ thống khác tƣơng ứng với hệ điều hành đó. Tất nhiên, điều này không mâu thuẫn với việc các CTMT hệ thống đƣợc cung cấp một cách riêng lẻ đến ngƣời dùng nhƣ những đối tƣợng độc lập. Chương trình máy tính ứng dụng CTMT ứng dụng đƣợc dùng để thực hiện một công việc xác định nào đó.
CTMT ứng dụng có thể chỉ gồm một chƣơng trình đơn giản nhƣ chƣơng 11 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com trình xem ảnh, hoặc một nhóm các chƣơng trình cùng tƣơng tác với nhau để thực hiện một công vịệc nào đó nhƣ chƣơng trình xử lý bản tính, chƣơng trình xử lý văn bản, .4] Những CTMT ứng dụng ứng dụng đƣợc khởi động khi cần thiết và ngừng hoạt động khi thực hiện xong công việc. Bởi vì nhu cầu của con ngƣời rất đa dạng, chủng loại cũng nhƣ số lƣợng của những CTMT ứng dụng là vô cùng phong phú. Căn cứ yếu tố độc quyền của Chƣơng trình máy tính Dựa vào yếu tố độc quyền, CTMT đƣợc chia thành 02 loại: CTMT sở hữu độc quyền và CTMT tự do nguồn mở. Dƣới đây là bảng so sánh 02 ví dụ tƣơng ứng với 02 loại CTMT này: Bảng 1.
So sánh CTMT tính tự do nguồn mở Linux và CTMT sở hữu độc quyền CTMT tự do nguồn mở CTMT sở hữu độc quyền Ví dụ Linux Microsoft Windows Miễn phí Có Không Sử dụng không kèm theo điều kiện Có Không Bộc lộ mã nguồn Có Không Tự do sửa đổi Có Không Bảo vệ sự tự do của ngƣời dùng Có Không [34, tr. Chƣơng trình máy tính sở hữu độc quyền CTMT sở hữu độc quyền, hay phần mềm sở hữu độc quyền (tiếng Anh: Proprietary software), đúng nhƣ tên gọi, là tài sản riêng của một cá nhân hay tổ chức (thƣờng là nhà phát triển hay nhà phân phối chƣơng trình đó), và vì vậy tất cả các quyền và quyền tự do của họ đều đƣợc bảo lƣu. Những CTMT sở hữu độc quyền sẽ có những hạn chế tự do trong việc sử dụng nó, và mã nguồn của những chƣơng trình nhƣ vậy luôn đƣợc giữ bí mật. Thông qua 12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.