Mã nguồn mở là phần mềm được cấp phép theo tiêu chuẩn mã nguồn mở. Nguyên tắc mở không chỉ bao gồm lĩnh vực phát triển phần mềm. Ví dụ, các nhà thiết kế cung cấp quyền truy cập vào các mẫu và phông chữ miễn phí. Ở một số quốc gia, các cơ quan chính phủ đang chuyển sang phần mềm nguồn mở. Tại Đức, thành phố Munich đã quyết định chuyển sang hệ điều hành LiMux, đây là một phiên bản tùy chỉnh của Ubuntu. Tại Hamburg, các quan chức đã quyết định sử dụng bộ ứng dụng văn phòng Phoenix thay vì Microsoft Office. Chính phủ Vương quốc Anh đã chuyển từ PDF sang ODF. Ở Pháp, hiến binh sử dụng hệ điều hành Ubuntu và LibreOffice miễn phí.
Yêu cầu đối với phần mềm nguồn mở
Hãy liệt kê các yêu cầu chính mà một ứng dụng được phân phối theo giấy phép Nguồn mở phải đáp ứng:
- các chương trình được phát miễn phí;
- Phần mềm có kèm theo mã nguồn, nếu không có trong bộ cơ bản thì bạn có thể thoải mái tải về hoặc lấy theo cách khác;
- mã có thể được thay đổi và các phần của mã có thể được sử dụng trong các dự án khác và các ứng dụng đã sửa đổi phải được phân phối lại theo các điều khoản của giấy phép Nguồn mở;
- Không được phép phân biệt đối xử với bất kỳ nhóm người nào, ví dụ, ở Hoa Kỳ có những hạn chế đối với việc xuất khẩu các chương trình, nhưng giấy phép tự do không thể thiết lập những điều cấm riêng;
- Giấy phép Nguồn mở cho phép tất cả việc sử dụng các ứng dụng, vì vậy niềm tin đạo đức cá nhân của nhà phát triển không can thiệp vào việc phân phối, ví dụ, các điều khoản như: “bị cấm sử dụng cho nghiên cứu di truyền” là không thể chấp nhận được;
- tất cả các quy tắc liên quan đến giấy phép Nguồn mở đều giống nhau đối với tất cả người dùng, các thỏa thuận bổ sung như không tiết lộ bị cấm;
- giấy phép không thể bị ràng buộc với chương trình, nhà phát triển chỉ sử dụng một phần của mã có các quyền mà sản phẩm đầy đủ đã cho;
- người dùng có thể chọn những gì họ sẽ sử dụng, ví dụ, không được yêu cầu phần mềm được cung cấp với Mã nguồn mở phải là mã nguồn mở.
Dự án nguồn mở – tính năng của chúng là gì
Hầu hết các ứng dụng được phân phối theo giấy phép Nguồn mở có những điểm khác biệt sau:
- chương trình được viết bởi những người sử dụng chúng, do đó, các nhà phát triển theo dõi mã, nhanh chóng sửa lỗi và phát hiện lỗ hổng;
- hầu hết các sản phẩm tương thích với một số hệ điều hành;
- cộng đồng nhà phát triển Nguồn mở mở cửa để liên hệ với những người dùng có thể gửi đề xuất của họ;
- thường các bản cập nhật cho phần mềm miễn phí được phát hành thường xuyên hơn cho các phần mềm thương mại, do đó, lỗi được loại bỏ nhanh hơn;
- người dùng, nếu muốn, có thể hỗ trợ ứng dụng họ thích bằng tiền;
- Nguy cơ lây nhiễm vào máy tính hoặc điện thoại thông minh khi cài đặt chương trình Mã nguồn mở là tối thiểu, vì chúng đi kèm với mã nguồn.
Lịch sử xuất hiện của phần mềm miễn phí
Người sáng lập ra phong trào phần mềm tự do được cho là Richard Stallman. Khi làm việc tại Phòng thí nghiệm Trí tuệ Nhân tạo tại MIT, ông đã đóng góp vào sự phát triển của phần mềm miễn phí. Ví dụ, trong việc viết một trình soạn thảo văn bản EMACS cho máy tính PDP. Năm 1984, Stallman nghỉ việc tại MIT và thành lập Dự án GNU. Những người đam mê nó đã đặt ra thuật ngữ “phần mềm miễn phí” và phát triển bản tuyên ngôn GNU.
Richard Stallman [/ caption] Năm 1985, Stallman thành lập Quỹ Phần mềm Tự do (FSF), được sử dụng để phát triển phần mềm miễn phí thông qua các khoản quyên góp tự nguyện. Năm 1989, Giấy phép Công cộng (GPL) đầu tiên được giới thiệu, giấy phép này bảo vệ người dùng và cấp quyền sao chép, sửa đổi và phân phối các ứng dụng. Sau đó, đã có giấy phép của Viện Công nghệ Massachusetts và BSD, được phát triển tại Đại học California. Đến năm 1991, một hệ điều hành độc lập đã được phát triển, nhưng nó thiếu nhân. Cùng năm đó, Linus Torvalds đã giới thiệu nhân Linux, được cấp phép theo GPL vào năm 1992. Vào giữa những năm 90 của thế kỷ trước, các công ty lớn bắt đầu quan tâm đến thị trường Mã nguồn mở. Đầu tiên là Netscape.Trình duyệt do cô phát hành được coi là một trong những trình duyệt phổ biến nhất vào thời điểm đó. Năm 1998, cô mở nguồn của nó. Sau khi công ty ngừng tồn tại, trình duyệt Mozilla Firefox được tạo ra từ mã Navigator. Giờ đây, Sáng kiến Nguồn mở, được thành lập vào năm 1998, đang tham gia vào việc phát triển và quảng bá phần mềm nguồn mở. Điểm của mã nguồn mở là gì: https://youtu.be/8G3Dz_GyPI0
Giấy phép nguồn mở
Có một số giấy phép Nguồn mở khác nhau. Để dễ hiểu hơn về chúng, chúng tôi cung cấp hình sau cho thấy chúng khác nhau như thế nào.
Giấy phép Nguồn mở [/ caption] Bây giờ hãy nói về những giấy phép phổ biến nhất.
- Giấy phép MIT được phát triển tại một trong những tổ chức giáo dục hàng đầu tại Hoa Kỳ – Học viện Công nghệ Massachusetts. Nó gần như hoàn toàn trùng khớp với phiên bản ba điều khoản của giấy phép BSD, chỉ có một điều khoản được bổ sung, cấm sử dụng tên tác giả trong quảng cáo. Dưới đây là: XFree86, Expat, PuTTY và các sản phẩm khác.
- Giấy phép BSD xuất hiện lần đầu vào đầu những năm 80 của thế kỷ trước để phân phối hệ điều hành cùng tên. Có các tùy chọn sau cho giấy phép này:
- Giấy phép Original BSD là giấy phép gốc đầu tiên, còn được gọi là giấy phép bốn điều khoản .
- Giấy phép BSD được sửa đổi là giấy phép có ba điều khoản, một điều khoản bị loại trừ trong đó, điều khoản này bắt buộc trong quảng cáo phải chỉ ra rằng ứng dụng này sử dụng phần mềm được phát triển tại Đại học California.
- Giấy phép của Intel được phát triển cho các ứng dụng được bảo vệ bằng sáng chế. Nó không được hỗ trợ bởi Open Source Initiative. Giấy phép được sử dụng trên Git Hub [/ caption]
- Giấy phép Công cộng GNU là giấy phép phổ biến nhất. Cô xuất hiện vào năm 1988. Vào năm 1991, một phiên bản cải tiến của GPL v2 đã xuất hiện, phiên bản này vẫn không bị mất đi sự phù hợp cho đến ngày nay. Năm 2006, giấy phép GPL v2 đã được thông qua.
- Giấy phép Công cộng GNU Ít hơn , hay viết tắt là GNU LGPL, được tạo ra để liên kết các thư viện với phần mềm được phân phối theo các giấy phép khác.
- Giấy phép Apache cho phép bạn sửa đổi và phân phối lại các chương trình trong cả mã nguồn và mã nhị phân. Ngoài các quyền đối với sản phẩm, việc chuyển giao các bằng sáng chế cũng được dự kiến.
- Guile tương tự như GNU GPL, nhưng nó bổ sung một điều khoản cho phép hợp nhất phần mềm nguồn mở và phần mềm không tự do, vì vậy nó không thể được coi là một copyleft nghiêm ngặt, nhưng nó vẫn tương thích với GNU GPL.
- Các Công Common Giấy phép được phát triển bởi IBM cho sự phát triển của nó. Nó cho phép bạn thay đổi mã và sử dụng nó trong các chương trình thương mại. Giấy phép này đã được Microsoft sử dụng cho Windows Installer XML.
- Giấy phép Công cộng Mozilla (MPL) là một giấy phép phức tạp không phải là bản sao nghiêm ngặt.
- Giấy phép của Sun Publi c Giấy phép tương tự như MPL, nhưng có những thay đổi nhỏ, ví dụ, thay vì Sun Microsystems được liệt kê trên Netscape.
Ngoài ra còn có các giấy phép khác ít phổ biến hơn như Guile, Common Public License, Mozilla Public License, và những giấy phép khác. https://youtu.be/oAW5Dh9q3PM
Ví dụ về các dự án nguồn mở
Sự phát triển của nhân Linux và các ứng dụng GNU đã trở thành cơ sở cho các ứng dụng Mã nguồn mở khác. Sự xuất hiện của Netscape quan tâm đến các công ty CNTT lớn. Kể từ đó, nhiều sản phẩm khác nhau đã được phát triển. Đầu tiên, chúng tôi đề cập đến Debian, tổ chức đã hỗ trợ Tổ chức Phần mềm Tự do từ năm 1994 đến 1995, và sau đó tổ chức phi lợi nhuận Phần mềm trong Công ích được thành lập, tiếp tục tài trợ cho dự án. Trong khuôn khổ dự án này, không chỉ hệ điều hành được tạo ra, mà còn cả bộ ứng dụng văn phòng LibreOffice, trình duyệt Firefox, ứng dụng thư Evolution, ứng dụng ghi đĩa CD K3b, trình phát video VCL, trình chỉnh sửa hình ảnh GIMP và các sản phẩm khác . Apache Software Foundation, một công ty phi lợi nhuận, nổi lên như một dự án hỗ trợ phần mềm Nguồn mở.Sản phẩm phổ biến nhất của tổ chức này là máy chủ web cùng tên. Công ty hiện hỗ trợ một số lượng lớn các dự án được phân phối theo giấy phép Apache. Các nhà tài trợ của ASF bao gồm Microsoft, Amazon và Huawei. Một công ty mã nguồn mở khác là Red Hat. Sự phát triển chính của nó là một hệ điều hành dựa trên nhân Linux. Cô ấy không chỉ tham gia vào phần mềm mà còn hỗ trợ kỹ thuật và đào tạo các chuyên gia. Nó đã được IBM mua lại vào năm 2018. Google cũng phát triển phần mềm miễn phí. Cô phát triển và hỗ trợ các dự án sau: thư viện TensorFlow để phát triển hệ thống học máy, ngôn ngữ Go, chương trình Kubernetes để tự động hóa triển khai phần mềm và các sản phẩm khác. Về khoa học, Nguồn mở không chỉ liên quan đến phần mềm mà còn liên quan đến việc xuất bản các tác phẩm,bình duyệt và hỗ trợ của các nguồn lực giáo dục. Năm 1991, Paul Ginsparg đã tổ chức một kho lưu trữ điện tử arXiv tại Phòng thí nghiệm Los Alamos, trong đó người ta có thể tìm thấy các công trình không chỉ trong vật lý, mà còn trong y học, toán học và các ngành khoa học khác. CERN cũng có một cổng thông tin với các công trình khoa học mở.
Hệ điều hành nguồn mở – hệ điều hành nguồn mở [/ caption]
Cách tham gia vào một dự án Nguồn mở
Nếu bạn muốn thực hành lập trình và điền vào hồ sơ xin việc của mình, thì việc tham gia phát triển một sản phẩm Mã nguồn mở chính là điều bạn cần. Chúng tôi sẽ cho bạn biết theo từng giai đoạn những gì cần thiết cho việc này. Trước hết, bạn cần đăng ký trên GitHub và chọn một dự án mà bạn sẽ tham gia. Nó sẽ được quan tâm cho bạn. Thật tốt nếu nó chứa nhiều nhiệm vụ mà bạn có thể làm. Bạn cũng nên chú ý đến mức độ phổ biến của dự án, nó có thể được xác định bởi số lượng các ngôi sao. Điều quan trọng nữa là xác định mức độ tích cực của quá trình phát triển và thời điểm những thay đổi cuối cùng được thực hiện. Sau khi chọn một dự án thú vị, bạn cần tìm một người phụ trách và thiết lập sự tương tác với anh ta. Bước tiếp theo là chọn một nhiệm vụ. Để bắt đầu, bạn nên chọn nhiệm vụ đơn giản nhất. Điều chính là bạn có thể giải quyết nó.Sau đó, chuyển dự án đến nơi của bạn và cài đặt tất cả các công cụ cần thiết. Sau khi bạn đã giải quyết vấn đề, hãy đưa ra đề xuất thay đổi mã trong kho lưu trữ. Để thực hiện việc này, bạn cần tải mã của mình lên GitHub và nhấp vào nút “Kéo yêu cầu”. Sau đó, bạn sẽ cần nhập tên yêu cầu của mình và mô tả. Sau đó, bạn cần đợi người quản lý chấp nhận hoặc từ chối các thay đổi được đề xuất. Nếu sau khi nhận nhiệm vụ, các vấn đề cấp bách khác xuất hiện hoặc bạn nhận thấy rằng mình sẽ không thể đối phó được, thì bạn có thể từ chối nhiệm vụ. Điều này là bình thường, nhưng bạn cần thông báo quyết định của mình cho người phụ trách.Sau đó, bạn sẽ cần nhập tên yêu cầu của mình và mô tả. Sau đó, bạn cần đợi người quản lý chấp nhận hoặc từ chối các thay đổi được đề xuất. Nếu sau khi nhận nhiệm vụ, các vấn đề cấp bách khác xuất hiện hoặc bạn nhận thấy rằng mình sẽ không thể đối phó được, thì bạn có thể từ chối nhiệm vụ. Điều này là bình thường, nhưng bạn cần thông báo quyết định của mình cho người phụ trách.Sau đó, bạn sẽ cần nhập tên yêu cầu của mình và mô tả. Sau đó, bạn cần đợi người quản lý chấp nhận hoặc từ chối các thay đổi được đề xuất. Nếu sau khi nhận nhiệm vụ, các vấn đề cấp bách khác xuất hiện hoặc bạn nhận thấy rằng mình sẽ không thể đối phó được, thì bạn có thể từ chối nhiệm vụ. Điều này là bình thường, nhưng bạn cần thông báo quyết định của mình cho người phụ trách.
Sử dụng mã nguồn mở trong phát triển rô bốt giao dịch
Cố vấn giao dịch hoặc
rô bốt là một chương trình thực hiện các giao dịch trên sàn giao dịch theo một thuật toán định trước. Họ có thể giao dịch hoàn toàn độc lập hoặc theo chế độ bán tự động. Trong trường hợp thứ hai, họ chỉ gửi tín hiệu về giao dịch và nhà giao dịch đưa ra quyết định cuối cùng. Hãy liệt kê những ưu điểm của robot giao dịch:
- Nhà giao dịch không cần phải tự theo dõi giá cả.
- Chuyên gia Cố vấn hoạt động nghiêm ngặt theo một thuật toán nhất định, họ không có cảm xúc.
- Robot phản ứng nhanh hơn nhiều so với con người.
Nhưng bên cạnh những ưu điểm, cố vấn tự động cũng có những nhược điểm:
- trong một tình huống phi tiêu chuẩn, chẳng hạn, khi tỷ giá tăng mạnh, cố vấn có thể phản ứng không thích hợp, và nhà giao dịch sẽ mất tiền;
- một số cố vấn chuyên nghiệp phải trả phí đăng ký.
Tiếp theo, chúng ta hãy xem xét một vài cố vấn giao dịch Nguồn mở. Chúng có thể được tải xuống từ GitHub, được cài đặt và sử dụng để giao dịch. Bạn cũng có thể cải thiện mã nguồn và tạo một robot cho chính mình.
Bot GEKKO
Đây là một cố vấn đã được chứng minh đã xuất hiện nhiều năm trước đây. Nhiều nhà giao dịch bắt đầu giao dịch với robot này. Nó hiện không được hỗ trợ bởi những người tạo ra nó, nhưng nó có sẵn để tải xuống miễn phí từ GitHub. Nó có thể được sử dụng trên các sàn giao dịch tiền điện tử, nó có thể thu thập thông tin thị trường và đặt hàng. GEKKO bot có nhiều cài đặt, trong đó bạn có thể kiểm tra thuật toán giao dịch, cũng như điều chỉnh và tối ưu hóa hệ thống để thực hiện giao dịch. Nó có một tập hợp các chiến lược được tạo sẵn mà bạn có thể tùy chỉnh. Bạn cũng có thể tạo hệ thống giao dịch của riêng mình. Nó hỗ trợ 23 sàn giao dịch, bao gồm: Bitfinex, EXMO, Bittrex, Bitstamp.
Zenbot
Cố vấn giao dịch tiền điện tử Zenbot sử dụng trí tuệ nhân tạo để giao dịch. Có thể tùy chỉnh nó theo ý muốn của bạn. Nó tương thích với hầu hết các hệ điều hành. Có thể thực hiện giao dịch với tần suất cao, giao dịch nhiều tài sản cùng một lúc. Ngoài ra, bot này có thể kiếm tiền bằng cách phân xử tiền điện tử. Nhưng nó không có giao diện người dùng đồ họa. Có thể giao dịch trên các sàn giao dịch sau: Bittrex, Quadria, GDAX, Pollniex và Gemini.
OsEngine
OsEngine là một bộ ứng dụng giao dịch trao đổi. Nó bao gồm:
- Dữ liệu – được sử dụng để tải dữ liệu lịch sử từ nhiều nguồn khác nhau.
- Trình tối ưu hóa – được sử dụng để kiểm tra một chiến lược.
- Tester – để thử nghiệm một số thuật toán giao dịch, nhưng không thay đổi các thông số. Nó có thể hoạt động đồng thời trên nhiều khung thời gian và công cụ.
- Thợ mỏ – tìm kiếm các mẫu có lợi nhuận trên biểu đồ. Các biểu mẫu được tìm thấy có thể được sử dụng trong giao dịch thực tế.
- Trader là một mô-đun để giao dịch.
OsEngine sử dụng hơn ba mươi hệ thống giao dịch tích hợp sẵn, trong đó có các hệ thống theo xu hướng (ví dụ: chiến lược của Bill Williams hoặc Jesse Livermore), ngược xu hướng (ví dụ: sử dụng đường dằn,
đường Bollinger ) và kinh doanh chênh lệch giá. Có thể được sử dụng trên một số sàn giao dịch quốc tế (có sẵn LMAX, InteractivBrokers và giao dịch ninja), trên
MOEX (Transac,
Quik , Most Asts, Plaza 2, SmartCom) và các sàn giao dịch tiền điện tử (Bitstamp, Bitfinex, Kraken, LiveCoin, ExMo, Binance, ZB, Bitmex, BitMax). Cũng tương thích với một sàn giao dịch ngoại hối Oanda. Có các cố vấn giao dịch Nguồn mở phổ biến khác, ví dụ: TradingBot, để giao dịch trên Sở giao dịch Moscow thông qua nhà môi giới Atentis hoặc rô bốt TradingBot đơn giản.