Khái niệm, định nghĩa Chương trình máy tính là gì?

Theo khoản 1 Điều 2 Quyết định 128/QĐ-TTg ngày 20/11/2000 về một số chính sách và biện pháp khuyến khích đầu tư và phát triển công nghiệp phần mềm,

Chương trình máy tính được hiểu là:

Chương trình là một tập hợp các câu lệnh được mô tả bằng bất kỳ ngôn ngữ, mã hay hệ thống ký hiệu nào và được thể hiện hoặc lưu trữ trong các vật mang tin (có hoặc không kèm theo các thông tin liên quan), được dùng trực tiếp hoặc dùng gián tiếp sau khi qua một hoặc hai khâu sau:

– Chuyển đổi sang một ngôn ngữ, mã, hệ thống ký hiệu khác;

– Tái tạo sang một vật mang tin khác; làm cho một dụng cụ có khả năng xử lý thông tin thực hiện một chức năng nào đó.

Theo khoản 1 Điều 22 Luật SHTT 2005:

Chương trình máy tính 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 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 được một công việc hoặc đạt được một kết quả cụ thể“.

Qua các khái niệm trên cho ta thấy, dưới góc độ kỹ thuật CTMT không chỉ đơn thuần là các PMMT được sử dụng trong MĐT mà còn được sử dụng trong các thiết bị điện tử, viễn thông khác nữa. Trong khi đó, dưới góc độ pháp lý thì hai khái niệm trên đã bộc lộ sự không đồng nhất: trong khi Quyết định 128/QĐ-TTg quy định phạm vi của CTMT không chỉ là những chương trình được sử dụng trong MĐT thì khoản 1 điều 22 Luật SHTT 2005 giới hạn trong CTMT chỉ sử dụng cho MĐT.

Tuy nhiên, về nguyên tắc thì các quy định trong Luật SHTT vẫn có giá trị pháp lý cao hơn Quyết định 128/QĐ-TTg nên có thể hiểu CTMT là chương trình được lập trình để điều khiển hoạt động của MĐT, là một chuỗi thông tin chứa các lệnh điều khiển máy tính thực hiện một hay nhiều nhiệm vụ nhất định. CTMT được xây dựng dưới dạng mã nguồn trên cơ sở một ngôn ngữ lập trình nhất định và thường được lưu trữ dưới dạng mã máy.

Nói cách đơn giản, Chương trình máy tính là một dạng hoạt động thủ công nhưng được chuyển đổi sang dạng yêu cầu thành một thứ mà máy tính có thể thi hành được. Trong thực tiễn thường có sự nhầm lẫn giữa khái niệm CTMT và khái niệm
PMMT. Đối với nhiều người sử dụng, khái niệm CTMT và PMMT hầu như không có gì khác biệt.

Tuy nhiên, xét dưới góc độ kỹ thuật và pháp lý thì đây là hai khái niệm khác nhau. Khoản 1 Điều 2 Quyết định 128/2000/QĐ-TTg về một số chính sách và biện pháp khuyến khích đầu tư và phát triển công nghiệp phần mềm định nghĩa: “Phần mềm được hiểu là chương trình, tài liệu mô tả chương trình, tài liệu hỗ trợ, nội dung thông tin số hóa”. PMMT là một tập hợp những câu lệnh được viết bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định nhằm tự động thực hiện một số chức năng hoặc giải quyết một bài toán nào đó.

Dưới góc độ kỹ thuật, kết cấu của PMMT bao gồm ba phần: phần thứ nhất là CTMT gồm mã nguồn và mã máy, phần thứ hai là cấu trúc dữ liệu gồm cấu trúc làm việc và cấu trúc lưu trữ; phần thứ ba là các tài liệu liên quan gồm hướng dẫn kỹ thuật, tài liệu tham khảo và tài liệu phát triển. Trong ba yếu tố trên thì CTMT là yếu tố hạt nhân quan trọng nhất, nó giống như vai trò của động cơ trong một cỗ máy, các yếu tố còn lại là dữ liệu và tài liệu chỉ đóng vài trò bổ sung cho CTMT.

Qua các định nghĩa trên, có thể thấy rằng khái niệm PMMT có nội hàm rộng hơn khái niệm “chương trình máy tính” vì tài liệu mô tả chương trình, tài liệu hỗ trợ, nội dung thông tin số hóa và CTMT đều thuộc PMMT. Trong mọi trường hợp tài liệu mô tả chương trình, tài liệu hỗ trợ, nội dung thông tin số hóa (được định hình dưới một dạng vật chất nhất định) phải được bảo hộ theo QTG. CTMT là một bộ phận nằm trong PMMT nhưng thật ra không có sự phân định rõ ràng giữa hai khái niệm này.

Ở Việt Nam thường rất hay sử dụng lẫn lộn giữa hai thuật ngữ CTMT và PMMT. Việc sử dụng thuật ngữ PMMT được thống nhất trong Bộ luật Dân sự 1995 và cả các văn bản pháp luật có liên quan. Còn khi Luật SHTT 2005 có hiệu lực thì việc lúc dùng PMMT, lúc dùng CTMT trong các văn bản pháp luật khác nhau khiến cho người tiếp cận trở nên khó hiểu hơn.

Nguồn: trungluat08ct.