Mã nguồn mở (Open source code) là gì?

Mã nguồn mở (Open source code) là gì?

Thuật ngữ mã nguồn mở (Open Source Code) đề cập đến thứ mà mọi người có thể sửa đổi và chia sẻ vì thiết kế của nó có thể truy cập công khai.

Mã nguồn mở (Open Source Code)
Mã nguồn mở (Open Source Code)

Thuật ngữ này bắt nguồn từ bối cảnh phát triển phần mềm để chỉ một cách tiếp cận cụ thể để tạo ra các chương trình máy tính. Tuy nhiên, ngày nay, “nguồn mở” chỉ định một tập hợp giá trị rộng hơn—cái mà chúng tôi gọi là “cách thức nguồn mở”. Các dự án, sản phẩm hoặc sáng kiến nguồn mở bao trùm và tôn vinh các nguyên tắc trao đổi mở, sự tham gia hợp tác, tạo nguyên mẫu nhanh, tính minh bạch, chế độ nhân tài và phát triển theo định hướng cộng đồng.

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

Phần mềm nguồn mở là phần mềm có mã nguồn mà bất kỳ ai cũng có thể kiểm tra, sửa đổi và nâng cao.

“Mã nguồn” là phần mềm mà hầu hết người dùng máy tính không bao giờ nhìn thấy; đó là mã mà các lập trình viên máy tính có thể thao tác để thay đổi cách hoạt động của một phần mềm—một “chương trình” hoặc “ứng dụng”. Các lập trình viên có quyền truy cập vào mã nguồn của chương trình máy tính có thể cải thiện chương trình đó bằng cách thêm các tính năng vào chương trình hoặc sửa các phần không phải lúc nào cũng hoạt động chính xác.

Sự khác biệt giữa phần mềm nguồn mở và các loại phần mềm khác là gì?

Một số phần mềm có mã nguồn mà chỉ cá nhân, nhóm hoặc tổ chức đã tạo ra nó—và duy trì quyền kiểm soát độc quyền đối với nó—có thể sửa đổi. Người ta gọi loại phần mềm này là phần mềm “độc quyền” hay “nguồn đóng”.

Chỉ tác giả ban đầu của phần mềm độc quyền mới có thể sao chép, kiểm tra và thay đổi phần mềm đó một cách hợp pháp. Và để sử dụng phần mềm độc quyền, người dùng máy tính phải đồng ý (thường bằng cách ký vào giấy phép được hiển thị trong lần đầu tiên họ chạy phần mềm này) rằng họ sẽ không làm bất cứ điều gì với phần mềm mà tác giả của phần mềm chưa cho phép rõ ràng. Microsoft Office và Adobe Photoshop là những ví dụ về phần mềm độc quyền.

Phần mềm nguồn mở thì khác. Các tác giả của nó cung cấp mã nguồn cho những người muốn xem, sao chép, học hỏi, thay đổi hoặc chia sẻ mã đó. LibreOffice và Chương trình thao tác hình ảnh GNU là những ví dụ về phần mềm nguồn mở.

Như họ làm với phần mềm độc quyền, người dùng phải chấp nhận các điều khoản của giấy phép khi họ sử dụng phần mềm nguồn mở—nhưng các điều khoản pháp lý của giấy phép nguồn mở khác biệt đáng kể so với các điều khoản của giấy phép độc quyền.

Giấy phép nguồn mở ảnh hưởng đến cách mọi người có thể sử dụng, nghiên cứu, sửa đổi và phân phối phần mềm. Nói chung, giấy phép nguồn mở cấp cho người dùng máy tính quyền sử dụng phần mềm nguồn mở cho bất kỳ mục đích nào họ muốn. Một số giấy phép nguồn mở—cái mà một số người gọi là giấy phép “copyleft”—quy định rằng bất kỳ ai phát hành một chương trình nguồn mở đã sửa đổi cũng phải phát hành mã nguồn cho chương trình đó cùng với nó. Hơn nữa, một số giấy phép nguồn mở quy định rằng bất kỳ ai thay đổi và chia sẻ chương trình với người khác cũng phải chia sẻ mã nguồn của chương trình đó mà không tính phí cấp phép cho nó.

Theo thiết kế, các giấy phép phần mềm nguồn mở thúc đẩy sự hợp tác và chia sẻ vì chúng cho phép người khác thực hiện các sửa đổi đối với mã nguồn và kết hợp những thay đổi đó vào các dự án của riêng họ. Họ khuyến khích các lập trình viên máy tính truy cập, xem và sửa đổi phần mềm nguồn mở bất cứ khi nào họ muốn, miễn là họ cho phép người khác làm điều tương tự khi họ chia sẻ công việc của mình.

Có phải phần mềm nguồn mở chỉ quan trọng đối với các lập trình viên máy tính?

Không. Công nghệ nguồn mở và tư duy nguồn mở đều mang lại lợi ích cho cả người lập trình và người không lập trình.

Bởi vì các nhà phát minh đầu tiên đã xây dựng phần lớn Internet dựa trên các công nghệ nguồn mở—như hệ điều hành Linux và ứng dụng máy chủ Web Apache—bất kỳ ai sử dụng Internet ngày nay đều được hưởng lợi từ phần mềm nguồn mở.

Mỗi khi người dùng máy tính xem các trang web, kiểm tra email, trò chuyện với bạn bè, phát nhạc trực tuyến hoặc chơi trò chơi điện tử nhiều người chơi, máy tính, điện thoại di động hoặc máy chơi game của họ sẽ kết nối với mạng máy tính toàn cầu bằng cách sử dụng phần mềm nguồn mở để định tuyến và truyền tải thông tin của họ. dữ liệu tới các thiết bị “cục bộ” mà họ có trước mặt. Các máy tính thực hiện tất cả công việc quan trọng này thường được đặt ở những nơi xa mà người dùng không thực sự nhìn thấy hoặc không thể truy cập vật lý—đó là lý do tại sao một số người gọi những máy tính này là “máy tính từ xa”.

Ngày càng có nhiều người dựa vào máy tính từ xa khi thực hiện các tác vụ mà lẽ ra họ có thể thực hiện trên thiết bị cục bộ của mình. Ví dụ: họ có thể sử dụng phần mềm xử lý văn bản, quản lý email và chỉnh sửa hình ảnh trực tuyến mà họ không cài đặt và chạy trên máy tính cá nhân của mình. Thay vào đó, họ chỉ cần truy cập các chương trình này trên máy tính từ xa bằng cách sử dụng trình duyệt Web hoặc ứng dụng điện thoại di động. Khi họ làm điều này, họ đang tham gia vào “điện toán từ xa”.

Một số người gọi điện toán từ xa là “điện toán đám mây” vì nó liên quan đến các hoạt động (như lưu trữ tệp, chia sẻ ảnh hoặc xem video) không chỉ kết hợp với các thiết bị cục bộ mà còn cả mạng toàn cầu gồm các máy tính từ xa tạo thành “bầu không khí” xung quanh chúng.

Điện toán đám mây là một khía cạnh ngày càng quan trọng trong cuộc sống hàng ngày với các thiết bị kết nối Internet. Một đám mây nào đó các ứng dụng điện toán, như Google Apps, là độc quyền. Những thứ khác, như ownCloud và Nextcloud, là nguồn mở.

Các ứng dụng điện toán đám mây chạy “trên cùng” các phần mềm bổ sung giúp chúng hoạt động trơn tru và hiệu quả hơn nên người ta thường nói rằng các phần mềm chạy “bên dưới” các ứng dụng điện toán đám mây đóng vai trò là “nền tảng” cho các ứng dụng đó. Nền tảng điện toán đám mây có thể là nguồn mở hoặc nguồn đóng. OpenStack là một ví dụ về nền tảng điện toán đám mây nguồn mở.

Tại sao mọi người thích sử dụng phần mềm nguồn mở?

Mọi người thích phần mềm nguồn mở hơn phần mềm độc quyền vì một số lý do, bao gồm:

Điều khiển. Nhiều người thích phần mềm nguồn mở hơn vì họ có nhiều quyền kiểm soát hơn đối với loại phần mềm đó. Họ có thể kiểm tra mã để đảm bảo rằng nó không làm bất cứ điều gì họ không muốn và họ có thể thay đổi những phần mà họ không thích. Người dùng không phải là lập trình viên cũng được hưởng lợi từ phần mềm nguồn mở, vì họ có thể sử dụng phần mềm này cho bất kỳ mục đích nào họ muốn—không chỉ đơn thuần theo cách người khác nghĩ họ nên làm.

Đào tạo. Những người khác thích phần mềm nguồn mở vì nó giúp họ trở thành lập trình viên giỏi hơn. Bởi vì mã nguồn mở có thể truy cập công khai nên sinh viên có thể dễ dàng nghiên cứu nó khi họ học cách tạo ra phần mềm tốt hơn. Học sinh cũng có thể chia sẻ công việc của mình với người khác, mời nhận xét và phê bình khi họ phát triển kỹ năng của mình. Khi mọi người phát hiện ra lỗi trong mã nguồn của chương trình, họ có thể chia sẻ những lỗi đó với người khác để giúp họ tránh mắc phải những lỗi tương tự.

Bảo vệ. Một số người thích phần mềm nguồn mở vì họ cho rằng nó an toàn và ổn định hơn phần mềm độc quyền. Bởi vì bất kỳ ai cũng có thể xem và sửa đổi phần mềm nguồn mở, nên ai đó có thể phát hiện và sửa các lỗi hoặc thiếu sót mà tác giả ban đầu của chương trình có thể đã bỏ sót. Và bởi vì rất nhiều lập trình viên có thể làm việc trên một phần mềm nguồn mở mà không cần xin phép tác giả gốc, họ có thể sửa chữa, cập nhật và nâng cấp phần mềm nguồn mở nhanh hơn so với phần mềm độc quyền.

Sự ổn định. Nhiều người dùng thích phần mềm nguồn mở hơn phần mềm độc quyền cho các dự án quan trọng, dài hạn. Vì các lập trình viên phân phối công khai mã nguồn của phần mềm nguồn mở nên người dùng dựa vào phần mềm đó cho các nhiệm vụ quan trọng có thể chắc chắn rằng công cụ của họ sẽ không biến mất hoặc rơi vào tình trạng hư hỏng nếu người sáng tạo ban đầu ngừng phát triển chúng. Ngoài ra, phần mềm nguồn mở có xu hướng kết hợp và vận hành theo các tiêu chuẩn mở.

Cộng đồng. Phần mềm nguồn mở thường truyền cảm hứng cho một cộng đồng người dùng và nhà phát triển hình thành xung quanh nó. Điều đó không phải là duy nhất đối với nguồn mở; nhiều ứng dụng phổ biến là chủ đề của các cuộc gặp gỡ và nhóm người dùng. Nhưng trong trường hợp nguồn mở, cộng đồng không chỉ là một nhóm người hâm mộ ủng hộ (về mặt cảm xúc hoặc tài chính) cho một nhóm người dùng ưu tú; chính những người sản xuất, thử nghiệm, sử dụng, quảng bá và cuối cùng là ảnh hưởng đến phần mềm họ yêu thích.

Không phải “nguồn mở” chỉ có nghĩa là thứ gì đó miễn phí sao?

Không. Đây là một quan niệm sai lầm phổ biến về ý nghĩa của “nguồn mở” và ý nghĩa của khái niệm này không chỉ mang tính kinh tế.

Các lập trình viên phần mềm nguồn mở có thể tính tiền cho phần mềm nguồn mở mà họ tạo ra hoặc phần mềm mà họ đóng góp. Nhưng trong một số trường hợp, vì giấy phép nguồn mở có thể yêu cầu họ phát hành mã nguồn khi họ bán phần mềm cho người khác, một số lập trình viên nhận thấy rằng việc tính tiền cho người dùng cho các dịch vụ và hỗ trợ phần mềm (chứ không phải cho chính phần mềm) sẽ sinh lời nhiều hơn. Bằng cách này, phần mềm của họ vẫn miễn phí và họ kiếm tiền khi giúp người khác cài đặt, sử dụng và khắc phục sự cố.

Mặc dù một số phần mềm nguồn mở có thể miễn phí nhưng kỹ năng lập trình và xử lý sự cố phần mềm nguồn mở có thể khá có giá trị. Nhiều nhà tuyển dụng đặc biệt tìm cách thuê các lập trình viên có kinh nghiệm làm việc trên phần mềm nguồn mở.

Nguồn mở “ngoài phần mềm” là gì?

Tại TCBD, chúng tôi muốn nói rằng chúng tôi quan tâm đến cách áp dụng các nguyên tắc và giá trị nguồn mở vào thế giới ngoài phần mềm. Chúng tôi thích nghĩ về nguồn mở không chỉ là một cách để phát triển và cấp phép cho phần mềm máy tính mà còn là một thái độ.

Tiếp cận mọi khía cạnh của cuộc sống “theo cách nguồn mở” có nghĩa là thể hiện sự sẵn sàng chia sẻ, cộng tác với người khác theo những cách minh bạch (để những người khác cũng có thể xem và tham gia), đón nhận thất bại như một phương tiện cải thiện và kỳ vọng—thậm chí khuyến khích —mọi người khác cũng làm như vậy.

Nó cũng có nghĩa là cam kết đóng vai trò tích cực trong việc cải thiện thế giới, điều này chỉ có thể thực hiện được khi mọi người đều có quyền tiếp cận với cách thiết kế thế giới đó.

Thế giới chứa đầy “mã nguồn”—bản thiết kế, công thức nấu ăn, quy tắc—hướng dẫn và định hình cách chúng ta suy nghĩ và hành động trong đó. Chúng tôi tin rằng mã cơ bản này (bất kể dạng nào) phải được mở, có thể truy cập và chia sẻ—để nhiều người có thể chung tay thay đổi nó tốt hơn.

Thông tin liên hệ:

Công ty CP ĐT&HL Phát Triển Doanh Nghiệp TC

Địa chỉ: Nhà 15 đường 5, CityLand Park Hill, P.10, Gò Vấp, TP.HCM

Văn phòng: 745 Nguyễn Kiệm, Phường 3, Quận Gò Vấp

Fanpage: www.facebook.com/ChuyendoisoDoanhNghiepToandien

Hotline: 1900 2929 44 (Phím 3) – 0868773939

Email: sales@tcgroup.edu.vn