Xin chào các bạn, lại là mình đây =))
Hôm nay, mình xin chia sẻ với các bạn một số kiến thức về mã nguồn mở mã mình đã tìm hiểu được, những chia sẻ của mình có thể còn nhiều thiếu sót, nếu các bạn có đóng góp thì vui lòng bình luận vào bên dưới bài viết nhé! Giờ thì cũng nhau tìm hiểu xem mã nguồn mở là cái gì và ăn được không nào!
1. GIỚI THIỆU MÃ NGUỒN MỞ
1.1. Mã
nguồn là gì?
Mã nguồn (Source Code) là một phiên bản phần mềm được viết bởi con
người (lập trình viên) ở dạng văn bản. Mã nguồn bao gồm một hoặc nhiều tập tin
chứa các dòng lệnh dưới dạng một hoặc nhiều ngôn ngữ lập trình. Mã nguồn có thể
dịch được thành ngôn ngữ máy (machine language) bởi trình biên dịch (compiler)
để có thể sử dụng trên máy tính hoặc các thiết bị có vi xử lý.
Ví dụ về mã nguồn một chương trình được viết bằng C++
Về cơ bản, mã nguồn có 2 loại: Mã nguồn mở (Open Source Code) và mã
nguồn đóng (Closed Source Code).
1.2. Mã
nguồn mở là gì?
Ngày nay, chúng ta thường nghe nói rất nhiều về các phần mềm “mã
nguồn mở”, nhưng thực sự chúng ta đã hiểu rõ về nó hay chưa?
Mã nguồn mở (Open Source Code) chỉ những phần mềm mà mã nguồn có sẵn
cho phép mọi người (thường là các lập trình viên) có thể tải về, xem, sử dụng,
chỉnh sửa lại nếu thấy phù hợp và có thể phân phối lại nếu tuân thủ các điều
khoản về mã nguồn mở do tổ chức Open Source Initiative – Hoa Kỳ đề ra.
Minh họa cho mã nguồn mở (Nguồn: Perforce.com)
Tại sao lại cần có mã nguồn mở? Từ thời công nghệ còn sơ khai, ý tưởng
về mã nguồn mở được các lập trình viên và các chuyên gia nhen nhóm khi mà họ cần
phải phát triển các công nghệ mới dựa trên hình thức hợp tác. Lấy ví dụ, một lập
trình viên ở Việt Nam phát triển một ứng dụng mới. Tuy nhiên, một lập trình
viên ở Mỹ lại nghiên cứu ứng dụng và tìm ra phương pháp để cải thiện ứng dụng
đó tốt hơn. Hình thức hợp tác giữa hai lập trình viên đã giúp cho kiến thức được
chia sẻ, thúc đẩy khả năng sáng tạo và người dùng sẽ được sử dụng những ứng dụng
mới nhất, tốt nhất.
Minh họa cho ý tưởng hình thành mã nguồn mở (Nguồn: Vector
Stock)
2. NỘI DUNG TỔNG QUAN VỀ MÃ NGUỒN MỞ
2.1. Lịch
sử hình thành và phát triển mã nguồn mở
Cụm từ “mã nguồn mở” được tạo ra tại hội nghị chiến lược tổ chức
ngày 3 tháng 2 năm 1998 tại Palo Alto, California, ngay sau khi công bố việc
phát hành mã nguồn trình duyệt web Netscape. Hội nghị tập trung vào việc thông
báo của Netscape đã tạo ra cơ hội để học tập, phát triển và là minh chứng cho sự
ưu việt của quá trình phát triển phần mềm mở. Những người tham gia hội nghị cho
rằng việc Netscape công bố mã nguồn, thuyết phục người dùng và các nhà phát triển
tham gia sáng tạo, cải thiện mã nguồn đã tạo ra một cộng đồng mã nguồn mở. Đồng
thời, họ cũng thấy cần phải có từ để chỉ ra và phân biệt nó với các khái niệm
khác và cụm từ “open source” đã được đề xuất bởi Christine Peterson. Hai người
trong số những người tham gia hội nghị là Bruce Perens và Eric Raymond đã thành
lập nên tổ chức Open Source Initiative (OSI) – công ty thúc đẩy việc sử dụng phần
mềm nguồn mở vào cuối tháng 2 năm 1998. Việc sử dụng các thuật ngữ và phát triển
phần mềm với sự hỗ trợ ban đầu của cộng đồng mã nguồn mở Netscape đã nhanh
chóng lan rộng và phát triển như ngày nay.
Logo của OSI và cụm từ “Open Source” (Nguồn: Hackernoon)
2.2. Ưu
điểm của mã nguồn mở
Những phần mềm mã nguồn mở mang lại nhiều lợi ích cho người sử dụng
và nhiều trong số chúng lại khiến chúng ta sử dụng mã nguồn mở thường xuyên
hơn.
−
Miễn phí và sẽ luôn như vậy: Các phần mềm mã nguồn
mở là miễn phí hay có chăng chỉ là những quyên góp nhỏ ủng hộ cho tổ chức (cá
nhân) đứng ra phát hành các bản phần mềm đó trên tinh thần tự nguyện. Chắc chắn
đây là một yếu tố quan trọng giúp người dùng đến gần hơn với phần mềm nguồn mở.
−
Dễ dàng chia sẻ: Phần mềm nguồn mở cho phép
chúng ta chia sẻ với bạn bè, người thân hay bất kỳ ai mà không sợ vi phạm bản
quyền.
−
Bảo mật: Với sự tham gia của cả cộng đồng thì việc
tìm ra lỗ hổng bảo mật dễ dàng hơn bao giờ hết, đó cũng là lý do mà các phần mềm
nguồn mở thường sẽ có bản cập nhật nhanh chóng và kịp thời hơn so với phần mềm
bản quyền.
−
Tính năng phù hợp: Các phần mềm mã nguồn mở thường
sẽ có các tính năng rất phù hợp với nhu cầu của người dùng vì chính họ đang
đóng góp một phần vào việc phát triển phần mềm, đó cũng là lý do mà các phần mềm
mã nguồn mở thường rất nhẹ nhàng.
Đối với cá nhân thì lợi ích của phần mềm nguồn mở là không có gì để
bàn cãi, vậy còn đối với các tổ chức, doanh nghiệp thì sao? Họ được lợi gì khi
sử dụng phần mềm mã nguồn mở?
−
Chi phí: Những phần mềm mã nguồn mở thường miễn
phí hoặc chi phí rất thấp. Những phần mềm này thường được các doanh nghiệp săn
đón hơn các phần mềm bản quyền khi mà họ sẽ cắt giảm bớt chi phí bản quyền, phí
nâng cấp, phí phát triển phần mềm. Đồng thời các phần mềm mã nguồn mở thường sẽ
tận dụng được tối đa phần cứng (phần mềm mới nhất vẫn có thể chạy tốt trên các
đời máy tính cũ), giúp cho các doanh nghiệp có thể tiết kiệm tối đa chi phí.
Chi phí mà họ bỏ ra chỉ để phát triển phần mềm cho phù hợp với từng giai đoạn phát
triển mà thôi.
−
Tính tùy biến: Việc phải chờ đợi vào một số nhà
phát triển phần mềm có thể gây thiệt hại cho doanh nghiệp, thay vào đó, nếu sử
dụng phần mềm nguồn mở, họ có thể tự phát triển dựa trên mã nguồn có sẵn để phù
hợp hơn với tình hình doanh nghiệp của họ.
−
Bản quyền: Với việc sử dụng phần mềm nguồn mở, tổ
chức, doanh nghiệp sẽ tránh được việc vi phạm bản quyền hoặc tranh chấp về bản
quyền phần mềm.
−
An toàn, bảo mật: Việc nhiều người cùng phát triển
giúp dễ dàng kiểm soát các lỗ hổng bảo mật, điều này thực sự quan trọng với các
doanh nghiệp, giúp họ tránh được những rủi ro nhất định.
−
Tăng tính thương hiệu: Đối với các doanh nghiệp,
việc có thể tự hào tuyên bố chuyển đổi công nghệ thành công và hoàn toàn không
vi phạm bản quyền là một điểm cộng trong mắt đối tác của họ.
2.3. Nhược
điểm của mã nguồn mở
Nói đi cũng phải nói lại, đúng với câu “Trên đời không có gì là hoàn
hảo”, phần mềm mã nguồn mở cũng vậy, dù có rất nhiều ưu điểm những bên cạnh đó
vẫn còn tồn tại những nhược điểm.
−
Ít có bản cập nhật tính năng mới: Thông thường,
những bản cập nhật của phần mềm mã nguồn mở chỉ là những bản vá bảo mật và những
sửa đổi nho nhỏ, ít khi tung ra những tính năng mới vì ban đầu nó đã được tạo
ra để đáp ứng các nhu cầu nhất định và không phải ai cũng có đủ nhiệt huyết để
duy trì hỗ trợ một dự án suốt đời.
−
Phân nhánh: Vì là những dự án mã nguồn mở làm
cho cộng đồng, mà “chín người mười ý”, nên để thỏa mãn nhu cầu của những nhóm
người nhất định, các dự án sẽ dần tách thành các nhánh phát triển khác nhau, đó
cũng là nguyên nhân làm cho người dùng ái ngại khi phải sử dụng phần mềm mã nguồn
mở vì có quá nhiều sự lựa chọn!
−
Thiếu nhân lực, kinh phí duy trì: Vì là phần mềm
miễn phí, ai cũng có thể sử dụng nên chẳng mấy ai đóng góp, ủng hộ để những nhà
phát triển tiếp tục duy trì cập nhật những dự án mã nguồn mở nữa. Nhiều dự án lớn
muốn tồn tại và phát triển phải được duy trì bởi quỹ của một công ty hay tổ chức
nào đó. Với những dự án phát triển nhỏ lẻ thì chẳng khác nào những nhà phát triển
phần mềm đang đi làm từ thiện vì đam mê cả!
2.4. Một
số ví dụ điển hình phần mềm mã nguồn mở
−
Hệ điều hành Linux: Theo thống kê vào tháng 4
năm 2019, thị phần máy tính của hệ điều hành này chỉ là 2.18% nhưng lại có tới
85% điện thoại thông minh trên thế giới chạy Android. Nhưng đừng để con số ấy
đánh giá tầm quan trọng của hệ điều hành Linux, Linux hầu như có mặt ở khắp nơi
trong nhà của chúng ta, từ ti vi thông minh, tủ lạnh thông minh, máy giặt, xe
hơi cho đến chiếc đồng hồ thông minh, điện thoại thông minh,…Có thể chiếc máy
tính của chúng ta cài các hệ điều hành khác như Windows hay MacOS, nhưng gần
như toàn bộ các máy chủ hay các siêu máy tính trên thế giới đều chạy hệ điều
hành Linux, điều này cũng đồng nghĩa với việc chúng ta sử dụng Internet cũng là
đang gián tiếp sử dụng Linux. Và tất nhiên, Internet hay các phần mềm liên quan
đến Linux đều miễn phí. Đó là lý do mà các tổ chức, doanh nghiệp (đặc biệt là
các doanh nghiệp về công nghệ) thường sử dụng hệ điều hành Linux trên máy tính
của họ.
Giao diện hệ điều hành Ubuntu – một bản phân phối HĐH Linux
(Nguồn: FreeCodeCamp)
−
Wordpress: Là phần mềm mã nguồn mở cho phép
chúng ta tạo ra trang web, blog một cách dễ dàng. Wordpress được viết bằng ngôn
ngữ PHP và sử dụng hệ cơ sở dữ liệu MySQL. Ngay cả hai thành phần chính tạo nên
Wordpress cũng là phần mềm mã nguồn mở thì không có lý do gì để Wordpress không
miễn phí và phổ biến với mọi người. Nó có rất nhiều plugin giúp việc phát triển
trang web trở nên cực kỳ nhanh gọn và dễ dàng.
Minh họa cho WordPress (Nguồn: wecan-group.com)
−
Trình duyệt web FireFox: Có lẽ không cần phải giải
thích nhiều khi nói đến trình duyệt web mã nguồn mở Firefox. Sỡ hữu các đặc điểm
của phần mềm nguồn mở, FireFox là miễn phí và bảo mật, do đó cực kỳ được người
dùng ưu chuộng.
Minh họa giới thiệu về FireFox Browser (Nguồn: ZDNet.com)
2.5. Tương
lai của mã nguồn mở ở nước ta
Trong thời đại phát triển toàn cầu cùng với cuộc cách mạng công
nghiệp 4.0 như hiện nay thì công nghệ thông tin đóng vai trò cực kỳ quan trọng
giúp nước ta có thể hội nhập với Thế giới. Và chính phần mềm mã nguồn mở sẽ là
vũ khí cực kỳ quan trọng giúp chúng ta đạt được những điều đó. Chính vì thế,
trong tương lai tới đây, việc sử dụng phần mềm mã nguồn mở sẽ giúp cho kinh tế
phát triển hơn, đồng thời tránh được việc vi phạm bản quyền, giúp cho con người
Việt Nam chúng ta năng động và sáng tạo hơn. Việc áp dụng các chính sách của
Nhà nước sẽ sớm giúp đưa phần mềm mã nguồn mở trở nên quen thuộc hơn. Cụ thể,
quyết định số 08/2007/QĐBTTTT đã ban hành danh mục các sản phẩm phần mềm mã nguồn
mở đáp ứng được yêu cầu sử dụng trong các cơ quan, tổ chức, nhà nước hay quyết
định số 1872/QĐ-BTTTT đã công bố định mức kinh tế - kĩ thuật triển khai áp dụng
phần mềm nguồn mở. Qua đó cho thấy Nhà nước ta đang có những định hướng phát
triển phần mềm mã nguồn mở và cũng cho chúng ta thấy được tương lai của phần mềm
mã nguồn mở.
3. KẾT LUẬN
Phần mềm mã nguồn mở thực sự được ưa chuộng trong thời đại số ngày nay.
Mặc dù không thể phủ nhận một số lợi ích nhất định của các công nghệ độc quyền
với các doanh nghiệp, nhưng phần mềm mã nguồn mở đã và đang đóng một vai trò cực
kỳ quan trọng trong việc giúp chúng ta đến gần hơn với một thế giới hiện đại mà
ở đó, chúng ta chính là những người đã đóng góp để xây nên thế giới đó. Với những
người sử dụng bản phân phối cuối cùng của phần mềm mã nguồn mở thì không có lý
do gì để từ bỏ nó khi mà nó đã đáp ứng gần như toàn bộ những nhu cầu cần thiết
của chúng ta. Là những người văn minh trong thời đại số, nếu không có đủ điều
kiện kinh tế để mua bản quyền phần mềm, hãy sử dụng phần mềm mã nguồn mở để tôn
trọng những con người đang ngày đêm đóng góp công sức cho ngành công nghiệp phần
mềm.
Ghi chú: Nội dung bài viết được mình chia sẻ và tham khảo các nguồn:
Cảm ơn các bạn đã theo dõi bài viết! Cùng mình chia sẻ đến với nhiều người hơn nhé!
Test comment
Trả lờiXóaNhận xét này đã bị tác giả xóa.
XóaXin chao
Trả lờiXóaBai viet rat huu ich
Trả lờiXóa