Bài viết được sự cho phép của blogchiasekienthuc.com
Khi mà máy tính và các thiết bị công nghệ dần trở nên phổ biến thì những cụm từ như Open Source hay mã nguồn mở… cũng được nhiều người biết tới hơn.
Đặc biệt là đối với những bạn thường xuyên sử dụng máy tính, chắc chắn là bạn sẽ từng nghe qua, thậm chí là nghe rất nhiều lần rồi, đúng không 🙂
Vậy Open Source là gì ? Ưu và nhược điểm của Open Source? Và tại sao mà các phần mềm Open Source lại có được sự phát triển mạnh mẽ như vậy? Bài viết dưới đây sẽ trả lời tất cả những câu hỏi này nhé các bạn !
”]Xem thêm các chương trình tuyển dụng BrSE hấp dẫn trên TopDev
#1. Open Source là gì?
Hiểu một cách đơn giản, ít phức tạp nhất thì Open Source (hay còn gọi là mã nguồn mở) là tất cả những dòng code của một phần mềm, hay của một ứng dụng, chương trình.. nào đó được chia sẻ công khai và miễn phí 100% cho cộng đồng cùng sử dụng.
Thông thường thì Open Source sẽ được phát hành miễn phí bởi các đơn vị cung cấp, hoặc là các công ty lớn về lĩnh vực công nghệ.
Nhưng tất nhiên, nếu bạn có khả năng thì bạn hoàn toàn có thể tải về mà nguồn gốc rồi tự phát triển, sửa đổi, cập nhật thêm tính năng theo nhu cầu của bạn.
Theo như những thông tin mà mình tìm hiểu được thì người sáng lập ra mã nguồn mở đầu tiên là Richard Stallman.
Người đã xây dựng ra dự án GNU và cho ra giấy phép Mã nguồn mở GPL. Đây là 2 nền tảng then chốt cho sự phát triển của Mã nguồn mở.
Nói tóm lại, Open Source (mã nguồn mở) là những phần mềm được tác giả chia sẻ công khai trên cộng đồng, đi kèm với đó là bộ code tạo nên phần mềm đó, để người khác có thể tái sự dụng và phát triển.
Nhưng phải lưu ý một điều là, những người sử dụng mã nguồn mở không được phép bán các sản phẩm dựa trên mã nguồn mở đó, vì nó là tài sản chung.
Như chúng ta đã biết, một phần mềm thương mại (mã nguồn đóng) được tạo ra đều sẽ được giữ bí mật về những dòng code, cấu trúc, cũng như là thuật toán …. thậm chí là họ còn mã hóa những dòng code này rất cẩn thận.
Ví dụ như hệ điều hành iOS của Apple, Windows và Office của Microsoft… Đây đều là những phần mềm và hệ điều hành thương mại nên người dùng không bao giờ nhìn thấy được dòng code nào từ họ cả.
Nhưng những phần mềm, ứng dụng được tạo ra từ mã nguồn mở thì khác, người dùng có thể thấy được tường tận, từ chân tơ kẽ tóc, từng dòng lệnh, từng cấu trúc và từng thuật toán… tất cả đều được hiển thị công khai, và mọi người đều có quyền sử dụng nó một các miễn phí.
#2. Ưu điểm của Open Source
Vâng! Tính cộng đồng chính là ưu điểm mạnh nhất mà Open Source có được !
Vì được chia sẻ free nên cộng đồng của mã nguồn mở luôn vô cùng rộng lớn, chính nhờ vậy mà những nâng cấp, những cải tiến của những phần mềm mã nguồn mở này luôn rất nhiều, dồi dào và thay đổi mạnh mẽ qua từng năm.
Nhờ có lượng người dùng đông đảo nên những phần mềm Open Source luôn là điểm đến cho những ai thích tìm hiểu, vọc vạch mã nguồn, bởi có hàng nghìn, hàng vạn những bài hướng dẫn, những tips & tricks giúp bạn khắc phục những lỗi trong quá trình sử dụng.
Và cũng vì là mã nguồn mở, được chia sẻ miễn phí nên đây là nơi tụ họp của rất nhiều những coder (lập trình viên) trên thế giới. Vậy nên những lỗi, những lỗ hổng, hay là những phần mở rộng luôn được cập nhật thường xuyên và có các bản vá kịp thời.
Một số cái tên tiêu biểu và đình đám nhất hiện nay của Open Source đó là: Linux, WordPress, Chromium….
Một điều rất hay nữa của Open Source đó là tính công khai và minh bạch, tức là trong phần mềm đó có tính năng gì, có những thuật toán gì, cấu trúc ra sao, có cài cắm gì nguy hiểm bên trong không… đều được sáng tỏ như ban ngày..
Đây là điểm khác biệt lớn nhất giữa mã nguồn mở và mã nguồn đóng. Với mã nguồn đóng thì chỉ có công ty, người chủ quản mới nhìn thấy được các dòng code bên trong.
#3. Nhược điểm của Open Source là gì?
Tuy có những ưu điểm rất tuyệt vời như vậy nhưng Open Source lại tiềm ẩn những rủi ro nhất định:
Như mình đã nói bên trên, với mã nguồn mở thì mọi thứ sẽ được công khai và phơi bày ra trước mắt. Đối với những hacker chân chính thì không sao, họ có thể thông báo hoặc tung ra các bản vá lỗi cho cộng đồng.
Nhưng ở chiều ngược lại, những hacker mũ đen, những kẻ ích kỉ muốn trục lợi cho bản thân sẽ lợi dụng những lỗ hổng đó để hack vào máy tính người dùng và tiến hành phá hoại sâu vào bên trong. Hoặc đánh cắp thông tin cá nhân của người khác..
Điều khó nhất đối với những phần mềm mã nguồn đóng (phần mềm thương mại) là những dòng code được bảo mật rất nghiêm ngặt, vậy nên hacker sẽ khó khai thác hơn.
Trong khi đó, với Open Source thì hacker có thể tìm ra các lỗ hổng thông qua thuật toán và câu lệnh của những phần mềm, ứng dụng đó một cách dễ dàng hơn.
Chính sự phát triển liên tục của cộng đồng đã đem tới những cải tiến, những tiện ích đi kèm, nhưng đôi khi nó lại là nguyên nhân khiến cho phần mềm dễ bị Crash.
Việc mỗi tiện ích, mỗi chức năng cải tiến đôi khi không cùng một nhóm người làm ra, nên chúng sẽ không được tối ưu một cách tốt nhất, thậm chí có thể bị xung đột trong quá trình sử dụng,
Đó cũng chính là lý do mà tại sao, các Open Source luôn cố gắng tìm một công ty chủ quản là như vậy.
Thiếu tính chuyên biệt là những gì mà những ứng dụng Open Source hay gặp phải, vì phát triển cho cộng đồng nên nó được phát triển là để phục vụ số đông, tức là phát triển nhiều nhóm người khác nhau, chứ đôi khi không cùng một mục đích sử dụng.
Nên đôi khi nó cũng thiếu đi những chức năng để làm những nhiệm vụ nhất định.
#4. Open Source trong tương lai
Với sự phát triển chóng mặt của công nghệ như hiện nay, giới trẻ ngày càng quan tâm đến CNTT nhiều hơn thì khái niệm Open Source sẽ ngày càng trở nên phổ biến và thông dụng hơn nữa.
Không phải bỏ chi phí hằng năm cho tiền bản quyền, không phải theo những khóa học, gần như mọi thứ đều có sẵn trong cộng đồng và được chia sẻ hoàn toàn miễn phí.
Tất cả những gì bạn cần làm là TỰ HỌC, TỰ MÀY MÒ… Vậy thôi !
Những vấn đề về bảo mật, tính chuyên biệt là những điểm yếu cố hữu của những phần mềm mã nguồn mở.
Nhưng chúng cũng đang dần được khắc phục bằng cách, các công ty sẽ lập ra một nhóm riêng để tự tối ưu và phát triển phần mềm riêng biệt, dựa trên mã nguồn gốc của phần mềm đó.
Tức là những thứ mà họ phát triển sẽ dựa trên mã nguồn mở được chia sẻ ngoài cộng đồng, nhưng chúng sẽ không được chia sẻ rộng rãi ra cộng đồng, mà nó thuộc sở hữu riêng của nhóm người đã phát triển.
Điều này sẽ hạn chế tối đa những rắc rối về bảo mật, mã nguồn, cũng như tính ổn định và khả năng hoạt động chuyên cho một lĩnh vực nào đó.
Tương lai thì Open Source sẽ còn phát triển hơn nữa, điển hình như là Trí tuệ nhân tạo (AI), thứ được viết trên Python – một mã nguồn mở hoàn toàn.
Và rõ ràng rồi, bất cứ thứ gì mà do một cộng động lớn phát triển, dành thời gian cho nó thì bao giờ cũng mạnh hơn những thứ do một nhóm làm ra.
Hi vọng là trong tương lai, chúng ta sẽ sớm thấy được nhiều hơn những thành tựu mà Open Source đem lại. Xin cảm ơn các bạn đã đọc hết bài viết.
Lê Đinh Hoàng Vũ – Bài viết gốc tại blogchiasekienthuc.com
Có thể bạn quan tâm:
- Open Source Story: Agar.IO Clone
- GitHub là gì? Những lợi ích GitHub mang lại cho lập trình viên
- OpenCV là gì? Học Computer Vision không khó!
Xem thêm việc làm IT hấp dẫn trên TopDev