Tài liệu phần mềm mã nguồn mở khác phần mềm sở hữu riêng như thế nào

Sự khác biệt chính - Phần mềm nguồn mở / phần mềm sở hữu

Sự khác biệt chính giữa phần mềm nguồn mở và phần mềm độc quyền là phần mềm nguồn mở xuất bản mã nguồn trong khi phần mềm độc quyền giữ lại mã nguồn. Gần đây, các phần mềm mã nguồn mở đã có một sự phát triển đáng kể. Phần mềm nguồn mở đã trở thành một phần chủ yếu trong ngành công nghiệp phần mềm. Điều này cũng đã có những tác động đáng kể trong các điều khoản kinh tế. Chất lượng dịch vụ của phần mềm nguồn mở tốt hơn phần mềm độc quyền ở nhiều khu vực.

Bất kỳ chương trình phần mềm nào sẽ bao gồm hai phần chính, Mã nguồn và Mã đối tượng. Mã nguồn có thể được viết bởi các lập trình viên, những người sẽ có thể hiểu những gì mã có nghĩa là gì và những gì nó có thể thực hiện. Các ngôn ngữ lập trình cơ bản có thể được sử dụng để tạo các mã như vậy. Với việc sử dụng trình biên dịch, mã nguồn này được chuyển đổi thành một mã đối tượng, được tạo thành từ các bit sẽ được đọc và thực thi bởi máy tính. Trình biên dịch là một chương trình phần mềm dành cho nhiệm vụ chuyển đổi.

Nếu cần sửa đổi phần mềm, mã nguồn sẽ phải được thay đổi tương ứng. Mã đối tượng sẽ không được sử dụng trong vấn đề này vì nó sẽ thay đổi nó sẽ không ảnh hưởng đến chương trình phần mềm. Điều này dẫn chúng ta đến sự khác biệt chính giữa phần mềm mã nguồn mở và phần mềm độc quyền; đó là khả năng tiếp cận mã nguồn.

Phần mềm nguồn mở là gì?

Richard Stallman là người đầu tiên phát triển phần mềm tự do vào năm 1984. Phần mềm tự do này đã có thể thay đổi và sửa đổi theo sở thích của người dùng. Người dùng có quyền tự do sửa đổi, thay đổi và chia sẻ mã nguồn. Việc này được thực hiện theo hợp đồng li-xăng với người sử dụng hoặc một tổ chức cụ thể. Có một số

đặc điểm của phần mềm nguồn mở cần lưu ý. Phân phối có thể được thực hiện tự do, mã nguồn có thể truy cập, mã nguồn có thể được sửa đổi, và những sửa đổi này cũng có thể được phân phối là tốt.

Phần mềm nguồn mở có thể phát triển thông qua cộng đồng hỗ trợ và chiến lược phát triển được thông qua bởi nó. Điều này lần lượt cải thiện chất lượng của phần mềm, và sự tham gia tích cực của cộng đồng cũng được khuyến khích cùng một lúc.Các công ty quảng bá phần mềm độc quyền hiện đang áp dụng phần mềm nguồn mở do các tính năng nói trên. Hạt nhân UNIX là một trong những sử dụng nhiều nhất trong các dự án mã nguồn mở.

Ví dụ về Phần mềm nguồn mở

Tài liệu phần mềm mã nguồn mở khác phần mềm sở hữu riêng như thế nào

Phần mềm sở hữu là gì?

Mục lục

  • 1 Tổng quan
    • 1.1 Phần mềm tự do
    • 1.2 Bốn quyền Tự do thiết yếu của phần mềm tự do[1]
    • 1.3 Nguồn mở
  • 2 Lịch sử
    • 2.1 Sự ra đời của FOSS:
    • 2.2 Tại Việt Nam
  • 3 Việc sử dụng
    • 3.1 Lợi ích so với Phần mềm độc quyền
      • 3.1.1 Quyền Kiểm soát cá nhân, tùy biến và tự do:
      • 3.1.2 Quyền riêng tư và bảo mật:
      • 3.1.3 Chi phí thấp hoặc không có:
      • 3.1.4 Chất lượng, sự cộng tác và hiệu quả:
    • 3.2 Hạn chế so với Phần mềm độc quyền
      • 3.2.1 Sự phân nhánh:
      • 3.2.2 Bảo mật và hỗ trợ người dùng:
      • 3.2.3 Sự tương thích với phần cứng và phần mềm:
        • 3.2.3.1 Sự thiếu tính năng và sửa chữa các lỗi:
        • 3.2.3.2 Sự phát triển không được đảm bảo:
        • 3.2.3.3 Sự thiếu ứng dụng:
  • 4 Một số vấn đề về FOSS
    • 4.1 Tranh cãi về giấy phép công cộng GNU v3.0:
    • 4.2 Sự ích kỷ, ưu tiên và làm việc kém hiệu quả của nhà phát triển:
    • 4.3 Quyền sở hữu thương mại của phần mềm nguồn mở:
    • 4.4 Vấn đề pháp lý:
      • 4.4.1 Oracle với Google
  • 5 Chú thích

Tham khảoSửa đổi

  1. ^ S. Donovan: Patent, copyright and trade secret protection for software, Potentials, IEEE, 2002, doi:10.1109/45.310923.

Source code là gì?

Source code hay mã nguồn, là thành phần cơ bản của một chương trình máy tính chứa các mã lệnh thực thi và được tạo ra bởi các lập trình viên. Hay giải thích một cách khác thì mã nguồn, là những kí tự được con người nhập vào máy tính dưới dạng một văn bản thuần túy.

Mở rộng ra, Source code bao gồm cả mã máy (ngôn ngữ bao gồm 2 kí hiệu 0 và 1) và các kí hiệu trong ngôn ngữ đồ hoạ (ngôn ngữ gần gũi với con người), cả hai thứ trên đều không phải là văn bản.

Tài liệu phần mềm mã nguồn mở khác phần mềm sở hữu riêng như thế nào
Mã nguồn là thành phần cơ bản của chương trình máy tính

Con người bình thường có thể đọc và hiểu được mã nguồn, khi lập trình viên sử dụng ngôn ngữ lập trình để viết ra những câu lệnh. Những câu lệnh được viết ra và lưu lại trong một nào đó như tệp notepad chẳng hạn, nó sẽ được gọi là tệp chứa mã nguồn.

Lập trình viên có thể sử dụng phần mềm gõ văn bản thông thường hoặc một bộ công cụ trực quan chuyên cho code, một môi trường phát triển tích hợp IDE (Integrated Development Environment); và cũng có thể là một bộ phát triển phần mềm SDK (Software Development Kit) để phát triển mã nguồn.

Có thể bạn muốn xem thêm: Source là gì? Tổng hợp các kiến thức liên quan về source

Lịch sử phát triển của Source code

Ở giai đoạn đầu khoản thập niên 1940, mã nguồn được lưu dưới dạng nhị phân bao gồm 2 kí tự 0 và 1 thông qua các bản điều khiển của máy tính. Ngôn ngữ lập trình thế hệ đầu tiên này không có sự phân biệt giữa mã nguồn và mã máy.

Trong giai đoạn này source code rất khó khăn để hiểu, nhớ và viết. Một trong những mã nguồn đầu tiên có thể được thực hiện bởi Tom Kilburn, một nhà khoa học máy tính tiên phong. Ông đã thành công khi lưu được chương trình số đầu tiên trong bộ nhớ máy tính vào 1948, và phần mềm này giải được một chương trình toán học.

Tài liệu phần mềm mã nguồn mở khác phần mềm sở hữu riêng như thế nào

Vào khoản thập niên 50 và 60 của thế kỉ trước, mã nguồn đã được phát triển, tuy nhiên chúng được phát hành miễn phí. Ví dụ điển hình như IBM họ phân phối miễn phí bản quyền phần mềm, họ chỉ tính tiền phần cứng. Cho đến 1983, IBM bắt đầu tính cả phí sử dụng phần mềm.

Những tạp chí điện tử vào thời đó sẽ viết, in mã nguồn lên giấy. Khi người dùng muốn sử dụng thì họ phải gõ lại những kí tự đó để có thể sử dụng phần mềm. Sau đó đĩa mềm đã được phát triển với giá cả phải chăng cho việc chia sẻ mã nguồn trở nên dễ dàng hơn. Ở thời điểm hiện tại của chúng ta Internet đã làm việc chia sẻ mã nguồn không còn một rào cản nào nữa.

Khi trước mã nguồn được công khai và chia sẻ miễn phí. Tuy nhiên hiện tại thì phần lớn các ứng dụng mà bạn sử dụng rất hiếm được chia sẻ mã nguồn vì nó sẽ liên quan đến bản quyền và bảo mật.

Ví dụ điển hình: Bạn sử dụng hệ điều hành Window, Mac OS nhưng có bao giờ bạn thấy mã nguồn của chúng không? Bạn sử dụng các ứng dụng điện thoại chẳng hạn, bạn cũng không thể thấy được chúng.

Tài liệu phần mềm mã nguồn mở khác phần mềm sở hữu riêng như thế nào
Hình nền quá quen thuộc của một hệ điều hành nào đó mà bạn từng sử dụng

Vậy mục đích của mã nguồn là gì? Và phần mềm khi đến tay của bạn sử dụng có còn được gọi là mã nguồn hay không?

Mục đích của mã nguồn

Mục đích chính của mã nguồn là làm nền tảng để tạo ra các phần mềm. Ngoài ra mã nguồn còn có nhiều mục đích khác như: hạn chế cho những người có kĩ năng mới có thể truy cập, những người có quyền hạn với mã nguồn mới có thể truy cập, điều chỉnh và cài đặt phần mềm.

Một mục đích khác nữa là giúp các nhà phát triển, lập trình viên khác có thể tiếp tục xây dựng chương trình tương tự trên các hệ điều hành khác, hoặc nâng cấp phiên bản hiện tại lên.

Tuy nhiên cũng là một bài toán, với lập trình thì sẽ có vô vàn cách giải quyết, thế nên việc ghi chú lại mục đích của dòng mã là rất cần thiết. Để các lập trình viên, các nhà phát triển khác hiểu người đi trước đã làm gì, sau đó họ sẽ tiếp bước thực hiện công việc.

1. Mã nguồn mở là gì?

Mã nguồn mở là một thuật ngữ

Mã nguồn mở được hiểu đơn giản là các phần mềm mà code của chúng được công khai sử dụng. Do đó bất cứ ai cũng có thể dùng miễn phí, tải xuống, chỉnh sửa, tùy biến và đóng góp thêm vào cộng đồng chung của phần mềm đó. Chẳng hạn như bạn đang dùng một phần mềm A có mã nguồn mở, bạn sử dụng và tạo ra một bộ code mới có tính năng vượt trội, bạn có thể chia sẻ chúng cho tất cả những người dùng phần mềm A, đó được gọi là cùng đóng góp chung.

Trong lập trình có rất nhiều thuật ngữ có chứ từ “mở” như: hệ điều hành mở, engine game mở… Từ “Mở” ở đây không liên quan đến kỹ thuật, cấu trúc hay người ta tạo ra phần mềm đó. Từ “mở” ở đây chỉ có 1 nghĩa liên quan đến pháp lý. Mã nguồn mở là mã nguồn có thể dùng cho mục đích thương mại mà không phải trả tiền bản quyền, cũng không một đơn vị nào có quyền khuyến nại.

Như vậy, mã nguồn mở được dùng thoải mái các chức năng không cần liên quan đến bên tạo ra mã nguồn đó.

Tài liệu phần mềm mã nguồn mở khác phần mềm sở hữu riêng như thế nào

Một số ví dụ về mã nguồn mở

Một số ngôn ngữ lập trình mở như: PHP, Java,… Bên cạnh đó cũng có những ngôn ngữ “mở một phần” như .NET. Ngôn ngữ này thực ra là nguồn mở nhưng người sử dụng phải trả tiền một cách gián tiếp thông qua cách mua hệ điều hành Windows, chứ không dùng được trên hệ điều hành MAC OS.

Bên cạnh một số ngôn ngữ lập trình Engine game mở thì cũng có một số ngôn ngữ không thuộc phần mềm mã nguồn mở như: Unity. Nếu bạn tạo ra 1 game bằng mã nguồn này, bạn được dùng thoải mái nhưng không được bán chúng. Vì khi bạn bán chúng. ngay lập tức bản quyền sẽ bị store link report, khiếu nại khiến cho link bị kéo xuống và bị khai tử game đó. Muốn thương mại hóa bạn phải mua bản quyền sử dụng từ bên sở hữu ngôn ngữ lập trình.