Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở

Open Source là gì? Ưu nhược điểm ra sao? Phân loại như thến nào? Cùng chúng tôi tìm hiểu cơ bản về Mã nguồn mở nhé!

Khái niệm về

1. Open Source là gì?

Mã nguồn mở (Open soure) là những phần mềm được cung cấp dưới cả dạng mã và nguồn, không chỉ là miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền. Người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp mà không cần xin phép ai

Thuật ngữ “Open source” được dùng để lôi cuốn các nhà kinh doanh, một điều thuận lợi chính là sự miễn phí và cho phép người dùng có quyền “sở hữu hệ thống”.

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (1)

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

Phần mềm mã nguồn mở (Open Source Software – OSS) là những phần mềm có mã nguồn được công khai, cho phép tất cả mọi người xem, thay đổi, chỉnh sửa, hay sử dụng mã nguồn này để phát triển các phần mềm khác. Nếu mã nguồn không thể được công chúng xem hay thay đổi thì nó gọi là “đóng” hay “độc quyền”.

Lợi ích và nhược điểm

1. Ưu điểm

  • Tính ổn định/đáng tin cậy: Thông thường, phần mềm mã nguồn mở sở hữu độ đáng tin cậy cao.
  • Gia tăng tư duy sáng tạo: Vì sở hữu thiết kế dưới dạng mở, nên nhiều người có thể nghiên cứu nhằm tạo ra những ứng dụng hoàn thiện hơn.
  • Chức năng tiện ích: Nó cho nhiều người cùng làm việc trên một phần mềm mã nguồn mở mà không cần xin phép từ các người tạo ra. Vậy nên, họ có quyền sửa chữa, cập nhật, nâng cấp nó nhanh hơn các phần mềm có bản quyền.
  • Vấn đề vi phạm bản quyền, quyền sở hữu trí tuệ, và tính tuân thủ WTO

2. Nhược điểm

  • Khả năng bảo mật kém: Đây là một nhược điểm rất chí mạng, do được chia sẻ rộng rãi trên mạng, nên bất cứ ai truy cập Internet đều có khả năng download về để tìm hiểu chúng. Điều này đồng nghĩa với mọi hacker cũng dễ dàng xem, đánh cắp dữ liệu hay làm gián đoạn quá trình hoạt động của trang web.
  • Tốc độ: Việc thiết kế web bằng mã nguồn mở giống như chúng ta sử dụng 1 phần chức năng nhưng lại phải đưa lên 3 đến 4 phần mã nguồn, vì lý do một phần chung có thể cải tạo ra vô số loại website khác nhau.
  • Dịch vụ hỗ trợ hạn hẹp: Vì được viết sẵn bởi những Developer tình nguyện, nên công ty cung cấp không thể nắm rõ tất cả chi tiết của website. Do đó, nếu xảy ra tình trạng lỗi hoặc muốn nâng cấp thêm chức năng… thì đối với nhà cung cấp, đây là điều vô cùng khó khăn.
  • Thiếu tính độc quyền: Phương pháp xây dựng này được gọi là cài đặt web chứ không phải là lập trình hay thiết kế. Bởi không cần kiến thức chuyên môn bạn cũng có thể làm ra được. Do vậy, tình trạng nhiều người cùng sở hữu một kiểu dáng, chức năng và bố cục website là điều không thể tránh khỏi.

Phân loại

1. Phân loại các phần mềm mã mở nguồn theo chức năng

Hệ điều hành mã nguồn mở được hiểu là hệ điều hành nhà phát triển cho phép mọi người dùng được phép can thiệp vào sâu bên trong bao gồm chỉnh sửa hoặc tùy biến mã nguồn thành những hệ điều hành mới để sử dụng cho các mục đích cụ thể mà không thu phí

Linux được xem là nguồn gốc của các hệ điều hành mã nguồn mở hiện nay như Ubuntu, Linux Mint, Fedora và cả hệ điều hành Android cũng do Google phát triển từ Linux lên

Các hệ điều hành mã nguồn mở tuy không bị tính phí khi sử dụng nhưng người sử dụng nó để phát triển hoặc thay đổi vẫn phải tuân theo một số giấy phép đặc biệt do nhà giới thiệu đưa ra như Windows, iOS, TizenOS,…

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (2)

  • Cơ sở dữ liệu (CSDL): MySQL, Cassandra, PostgreSQL, Cloudscape, SQLite,…

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng

PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ và đối tượng dựa trên POSTGRES, bản 4.2 được khoa điện toán của đại học California tại Berkeley phát triển. PostgreSQL mở đường cho nhiều khái niệm quan trọng mà các hệ quản trị dữ liệu thương mại rất lâu sau mới có

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (3)

  • Nhóm ứng dụng Desktop: Open Office, Xara Xtreme, GZIP, Eclipse,…

OpenOffice.org hay gọi tắt là OpenOffice là bộ trình ứng dụng văn phòng miễn phí, mã nguồn mở được xây dựng trên phiên bản StarOffice mã nguồn mở của Sun Microsystems

Xara Xtreme LX là phiên bản mã nguồn mở ban đầu dành cho Linux

GZIP là một định dạng tệp và một ứng dụng phần mềm được sử dụng để nén và giải nén tệp, được sử dụng trong các hệ thống Unix thời kỳ đầu và dành cho GNU

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (4)

  • Nhóm Server

Kể từ khi webserver đầu tiên được ra đời vào năm 1991, với Apache, thì đây được xem như là chuẩn mực cho webserver. Theo thời gian, cũng đã có nhiều web server mã nguồn mở chất lượng khác xuất hiện.

Webserver: Apache; NGINX; Lighttpd

Mail Server: SENDMAIL; QMAIL; POSTFIX; EXIM

File Server: XtreemFS; HFS; Openfiler

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (5)

2. Phân loại phần mềm mã nguồn mở

  • Nhóm ứng dụng Web trên nền PHP

 Tại Việt Nam, đa số các dự án lập trình web đều sử dụng ngôn ngữ PHP, do đó phần mềm mã nguồn mở thuộc nhóm ứng dụng Web trên nền PHP cũng rất phổ biến

Ứng dụng web được dùng để hiện thực Webmail, bán hàng trực tuyến, đấu giá trực tuyến, wiki, diễn đàn thảo luận, Weblog, MMORPG, Hệ quản trị nội dung, Phần mềm quản lý nguồn nhân lực và nhiều chức năng khác

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (6)

  • Loại hệ thống chuyên về CMS/Portal

CMS mã nguồn mở là một hệ thống quản trị khá phổ biến và dễ dàng sử dụng

Drupal được trao giai thưởng CMS nguồn mở danh giá nhất năm 2007, 2008, 2009 do nhà xuất bản Packt bình chọn. Cùng với giải CMS nguồn mở PHP tốt nhất năm 2009

Joomla là một hệ quản trị nội dung nguồn mở, được cung cấp miễn phí theo giấy phép GNU. Được phát triển từ Mambo, được viết bằng ngôn ngữ PHP và kết nối tới cơ sở dữ liệu MySQL, cho phép người sử dụng có thể dễ dàng xuất bản các nội dung của họ lên Internet hoặc Intranet.

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (7)

  • Loại hệ thống chuyên về Forum

Forum (diễn đàn) là một trong các sẩn phẩm trong yếu sinh ra từ internet.

Phần mềm mã nguồn mở chuyền về Forum thường có các chức năng chủ yếu: khả năng chỉnh sửa trang cá nhân, phần mềm chỉnh sửa văn bản mạnh mẽ, tin nhắn riêng, chữ ký trong bình luận, hệ thống cấp bậc

PhpBB là gói phần mềm dùng để xây dựng các diễn đàn, phpBB viết bằng ngôn ngữ lập trình PHP có sử dụng cơ sở dữ liệu như MySQL

Tên Phorum xuất phát từ sự kết hợp giữa “PHP” và “forum”. Nó được phát hành theo GPL, mặc dù sau đó nó đã được đổi thành giấy phép Phorum, một giấy phép kiểu BSD

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (8)

  • Loại hệ thống chuyên về Blog

WordPress là một công cụ, phần mềm mã nguồn mở phổ biến để tạo lập, xuất bản các Blog.

Việc tạo và phát triển Blog giúp chúng ta: Phát triển bản thân, tăng khả năng nhận diện thương hiệu, tăng mật độ hiển thị trên trình tìm kiếm, mở rộng mạng lưới khi bạn tương tác với khách hàng, độc giả

Dotclear là một ứng dụng xuất bản blog nguồn mở được phân phối theo GNU GPLv2. Được phát triển ban đầu bởi Olivier Meunier từ năm 2002

Textpattern là một hệ thống quản lý nội dung mã nguồn mở và miễn phí dựa trên PHP và MySQL

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (9)

  • Hệ thống chuyên về thương mại điện tử (eCommerce)

Có rất nhiều nền tảng thương mại điện tử mã nguồn mở, việc tạo và sở hữu một website với nền tảng thương mại điện tử tối ưu nhất sẽ giúp tăng khả năng cạnh tranh cho doanh nghiệp trong thời đại 4.0 như hiện nay

Zen Cart là một ứng dụng mã nguồn mở, hoàn toàn miễn phí cho phép người dùng tự tạo ra cửa hàng trực tuyến của mình một cách đơn giản

OpenCart là một hệ thống quản lý cửa hàng trực tuyến. Nó dựa trên PHP, sử dụng cơ sở dữ liệu MySQL và các thành phần HTML. Hỗ trợ được cung cấp cho các ngôn ngữ và tiền tệ khác nhau

WHMCS là giải pháp quản lý khách hàng (CRM) và sản phẩm/dịch vụ trong lĩnh vực công nghệ lưu trữ Web Hosting, Server, Domain,…

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (10)

  • Loại hệ thống chuyên về ERP

Phần mềm ứng dụng quản lý nguồn lực, kế hoạch ( Enterprise Resource Planning: ERP) hiện nay đang được xem là rất cần thiết cho tất cả tổ chức hay công ty. Sử dụng phần mềm mã nguồn mở ERP (Open Source ERP) là lựa chọn hợp lí nhất, bởi vì mã nguồn của phần mềm có thể được tùy chỉnh theo yêu cầu của từng tổ chức cụ thể

Dolibarr ERP CRM là gói phần mềm miễn phí, mã nguồn mở dành cho các công ty thuộc mọi quy mô, nền tảng hoặc dịch giả tự do

OrangeHRM 1.0 là phiên bản mã nguồn mở và miễn phí được phát hành cho Soureforge, gồm các tính năng như quản lý thông tin nhân viên, tự phục vụ của nhân viên và báo cáo

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (11)

  • Loại hệ thống chuyên về Giáo dục (Education)

Việc sử dụng phần mềm tự do mã nguồn mở trong ngành giáo dục nhằm mục đích hỗ trợ nâng cao hiểu biết về lập trình phần mềm, hỗ trợ đổi mới tư duy, tạo môi trường nghiên cứu, sáng tạo, rút ngắn thời gian nghiên cứu,…

Moodle là một phần mềm nền cho một hệ quản trị đào tạo, được thiết kế với mục đích tạo ra những khóa học trực tuyến với sự tương tác cao

ATutor là một Hệ thống quản lý nội dung học tập mã nguồn mở được thiết kế hướng tới tính dễ dùng và khả năng ứng dụng trong các trường học

Claroline là một nền tảng eLearning và eWorking hợp tác được phát hành theo giấy phép nguồn mở GPL

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (12)

  • Loại hệ thống chuyên về Social Networking(OSSN)

Open Source Social Network (Ossn) là một phần mềm mạng xã hội phát triển nhanh chóng được viết bằng PHP, với cộng đồng phát triển tương đối lớn. Ossn có các bản ngôn ngữ cho nhiều thứ tiếng được đóng góp bởi cộng đồng lập trình viên/chuyên viên CNTT

Elgg là phần mềm mạng xã hội nguồn mở cung cấp cho các cá nhân và tổ chức các thành phần cần thiết để tạo ra một môi trường xã hội trực tuyến. Nó cung cấp blog, blog, chia sẻ tập tin, mạng, nhóm và một số tính năng khác

Dolphin là trình giả lập bảng điều khiển trò chơi điện tử mã nguồn mở và miễn phí dành cho GameCube và Wii chạy trên Windows, Linux, MacOS và Android

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (13)

  • Các loại hệ thống Open Source Web trên nền .NET

Orchard sẽ tạo ra các shared components để xây dựng các ứng dụng ASP.NET và phần mở rộng, và các ứng dụng cụ thể tận dụng các thành phần này để đáp ứng nhu cầu của người dùng cuối, designer, nhà phát triển, và các chuyên gia web

MojoPortal là một hệ thống quản lý nội dung, đa nền tảng, mã nguồn mở dành cho ASP.NET, được viết bằng ngôn ngữ lập trình C#

DotNetNuke là một hệ thống quản lý nội dung mã nguồn mở viết bằng ngôn ngữ lập trình VB.NET trên nền tảng ASP.NET

Open Source là gì? Những kiến thức cơ bản về Mã nguồn mở (14)

Leave a Reply

Your email address will not be published. Required fields are marked *