Thứ Tư, 3 tháng 2, 2010

Sự trở về của Hổ

Tôi đã trở lại...

Thứ Bảy, 6 tháng 9, 2008

Craig McClanahan người phát minh Tomcat Struts và JavaServer Face (JSF)


Craig R. McClanahan là một lập trình viên và tác giả đầu tiên của bộ khung ứng dụng (framework) Jakarta Struts cho việc xây dựng các ứng dụng web dựa trên các chuẩn thiết kế MVC (Model-View-Controller, một phương pháp thiết kế chương trình trong đó tách biệt 3 thành phần Dữ liệu, Hiển thị và Điều khiển). Ông là một thành viên trong nhóm chuyên gia phát triển các đặc tả Servlet 2.2, 2.3 và JSP 1.1, 1.2.(Servlet là một đặc tả lập trình Web nền tảng nhất trong Java, JSP là một đặc tả được định nghĩa dựa trên Servlet).

Craig McClanahan là một kỹ sư kinh nghiệm tại Sun Microsystems. Ông hiện là kiến trúc sư nhóm phát triển Sun Java Studio Creator, một môi trường phát triển tích hợp (IDE) cho việc xây dựng các ứng dụng Web sử dụng JavaServer Faces (một đặc tả lập trình Java mới nhất và tiên tiến nhất hiện nay) và các công nghệ có liên quan thông qua các giao diện đồ họa. Ông là kiến trúc sư hệ thống Web cho nền tảng J2EE (là một tập hợp các đặc tả cho phép lập trình các ứng dụng Java cho các tổ chức và doanh nghiệp lớn), cũng như là đồng trưởng nhóm viết các đặc tả cho JavaServer Faces. Ông là một thành viên của tổ chức phần mềm Apache (Apache Software Foundation), cũng là thành viên của ban quản lý dự án của Jakarta (Jakarta Project Management Committees). Ông là kiến trúc sư đầu tiên của Catalina (môi trường thực thi Servlet, là một phần của máy chủ ứng dụng Tomcat 4.x và 5.x) và là cha đẻ của Struts và một vài gói thư viện Jakarta Commons (một tập hợp các thư viện dùng chung trong dự án mang tên Jakarta). Hiện ông sống ở Portland, Oregon mặc dù nhóm của ông làm việc hầu như tại Cupertino, CA. Ông thích hỗ trợ đội thể thao Oregon và viết các phần mềm hay.

Struts bắt nguồn từ một nhu cầu cá nhân để hỗ trợ sự phát triển của một ứng dụng mà ông đảm nhiệm, trước khi ông gia nhập Sun năm 2000. Nhiệm vụ của ông là chuyển một ứng dụng hiện đang sử dụng tại Mỹ sang hỗ trợ thêm một số ngôn ngữ Châu Âu, ban đầu là 4 ngôn ngữ, và người dùng có thể sử dụng nó thông qua môi trường web (trong số các cách khác). Lúc này, mọi người thảo luận nhiều về các kiến trúc thích hợp trong danh sách mail JSP-INTEREST (nơi mọi người thảo luận về công nghệ lập trình Web JSP) tại java.sun.com, nhưng có rất ít bộ khung ứng dụng có thể chạy được. Vì thế, ông bắt đầu tạo ra một ứng dụng cho riêng ông sử dụng.

Bộ khung ứng dụng phục vụ rất tốt nhu cầu của McClanahan. Khi ông nhận thấy rằng nhu cầu này không chỉ dành riêng cho ông, ông bắt đầu tiến trình mở mã các ý tưởng về một bộ khung ứng dụng web tại tổ chức phần mềm Apache. Việc xảy ra kế tiếp cũng không có gì lạ: Struts nhanh chóng trở thành kiến trúc ứng dụng web chuẩn trên thực tế trong thế giới J2EE.

Có rất nhiều ứng dụng Internet được xây dựng bằng Struts, nhưng số lượng này vẫn còn nhỏ hơn nhiều so với các ứng dụng mạng nội bộ sử dụng nó. Ngày nay Struts được tích hợp vào gần như tất cả các công cụ và các máy chủ ứng dụng, được hỗ trợ bởi một cộng đồng các nhóm chuyên gia và các nhà phát triển có kỹ năng và nó cũng được hậu thuẫn bởi các tài liệu quan trọng dưới dạng sách và các bài báo, và là nền tảng cho cộng đồng rất lớn người sử dụng trong danh sách mail cho những người dùng Struts. Sau khi Struts được tung ra, và bắt đầu chứng tỏ tính phổ biến của nó, các bộ khung ứng dụng và các thành phần phần mềm (component) khác cũng được tung ra. Trong khi có nhiều sự cải tiến, người ta cũng rất khó đoán trước sự phát triển của một giao diện lập trình ứng dụng chuẩn (API) thông dụng cho các thành phần giao diện người sử dụng - một API cho phép việc tạo ra thị trường thành phần phần mềm mà ở đó những nhà sản xuất phần mềm công cụ có thể hỗ trợ một giao diện lập trình ứng dụng thành phần thay vì 50, và cũng là nơi các nhà phát triển thành phần phần mềm có thể dựa vào khả năng vận hành chung giữa nhiều công cụ thay vì chỉ một hoặc hai. Vì vậy, JavaServer Faces (JSR-127) được giới thiệu - với mục tiêu giải quyết vấn đề này bằng cách cung cấp một giao diện lập trình ứng dụng mức độ căn bản thông dụng cho việc xây dựng các thành phần giao diện người sử dụng cho các ứng dụng web, với những mục tiêu cụ thể không những có thể tiếp cận với các nhà phát triển viết ứng dụng trực tiếp mà còn dễ tích hợp vào các công cụ.

Tháng 3 năm 2004 phiên bản JSF 1.0 được tung ra thị trường, tiếp đó bản chỉnh sửa cũng được tung ra vào tháng 5, và nó nhanh chóng được các nhà sản xuất công cụ và các nhà phát triển ứng dụng sử dụng.

Craig McClanahan có nhiều đóng góp lớn đến công nghệ Java, cụ thể đến Struts, Tomcat và công nghệ Web trong nền tảng J2EE. Các công trình của ông có nhiều ảnh hưởng đến cách phát triển các ứng dụng Web trên công nghệ Java ngày nay.

Craig nói về các công trình của mình

Tôi quan tâm đến Servlet và công nghệ JSP vào khoảng năm 1998. Việc này bắt đầu khi tôi cần một phương pháp để xây dựng một số ứng dụng web cho các dự án, và tôi thích Java hơn các lựa chọn khác. Tôi cũng thích tính tự do của phần mềm nguồn mở, và bắt đầu sử dụng máy chủ ứng dụng Apache JServ – sau đó, tôi tham gia vào dự án này (giống như nhiều người, tôi hay phàn nàn về việc phải mất 12 tháng để có được từ phiên bản 0.9 đến phiên bản 1.0, và con trai tôi đã nói “Ba biết Java, ba hãy giúp họ hoàn thành nó". Và tôi đã làm.)

Tôi tham gia vào danh sách mail JSP-INTEREST và SERVLET-INTEREST (nơi mọi người thảo luận về công nghệ lập trình web JSP và Servlet), đặc biệt các kiến trúc đẹp cho các ứng dụng web. Tôi rất ghét một mớ lộn xộn mà người mới bắt đầu tạo ra khi họ sử dụng (hoặc lạm dụng) các đoạn mã nhỏ (scriptlet) trong trang JSP, vì vậy tôi đã xây dựng một bộ khung ứng dụng khá toàn diện (Struts 0.01 không có các đoạn mã tag tùy biến - custom tag). Nó là một mã độc quyền, nhưng tôi có thể miêu tả các khái niệm về bộ khung ứng dụng này cho các nhà phát triển khác, và bắt đầu cảm thấy “mô hình 2” này khá tốt - nhưng không có một chương trình mẫu nào hay vào thời điểm đó.

Cùng lúc này, tôi tham gia vào Java Community Process (một tổ chức chuyên phát triển các đặc tả trên nền tảng Java) như là một người cộng tác độc lập, và gia nhập nhóm chuyên gia trong việc phát triển Servlet 2.2 và JSP 1.1. Sun rất ấn tượng và mời tôi làm trưởng nhóm kỹ thuật phát triển Tomcat, cụ thể là kiến trúc cho Catalina, là một phần môi trường thực thi Servlet của Tomcat 4.0 cũng do tôi phát triển. Vì vậy tôi ở trong một vị trí rất tốt là được trả lương để phát triển phần mềm nguồn mở. Và tôi tham gia vào nhóm chuyên gia phát triển Servlet 2.3 và JSP 1.2. Và phát biểu tại nhiều hội thảo, bao gồm hội thảo ApacheCon và hội thảo JavaOne và nói chuyện với các nhóm của Sun về việc sử dụng Struts và công nghệ JSP/Servlet.

Tôi đã có những ý tưởng về bản thiết kế đầu tiên của Struts trong một thời gian dài từ những buổi thảo luận trong danh sách mail, nhưng phiên bản đầu tiên được tôi viết trên laptop tại một chuyến đi nghỉ cuối tuần đến bờ biển Oregon vào ngày Lễ Kỷ Niệm (cuối tháng 5 năm 2000) trong lúc tôi đang xem sóng vỗ và ngôi nhà bị rung chuyển bởi trận bão. Từ đó, nó đã tập trung sự chú ý và được nhiều người thích khi được chính thức tung ra lần đầu tiên, và điều này làm tôi phấn khởi khi thấy “đứa con” của mình phát triển rất tốt. Tất nhiên không chỉ một mình tôi – những người khác có rất nhiều ý tưởng hay không thể tin được, và một cái nhìn lướt qua tại danh sách những việc cần làm cho phiên bản 1.1 cũng cho thấy rằng thậm chí trong tương lai sẽ còn nhiều thứ khác hay hơn.

Một yếu tố động lực là bài báo của Jason Hunter về “Những vấn đề với JSP”. Jason và tôi rất hợp nhau, mặc dù chúng tôi có những sở thích khác nhau về các công nghệ thuộc tầng trình diễn. Bên cạnh việc là tác giả của một cuốn sách rất nổi tiếng về Servlets sắp tái bản lần thứ hai, Jason là đại diện của tổ chức phần mềm Apache, Ủy ban điều hành của Java Community Process.

Hải Hà Nguồn:tincntt

James Gosling – Cha đẻ của ngôn ngữ lập trình Java


Ngày nay khi bạn nghĩ về Internet, có lẽ bạn nghĩ về những điều như các trình duyệt Web và những cỗ máy tìm kiếm. Khi bạn nghĩ về việc lập trình cho Internet, có thể bạn nghĩ về các ngôn ngữ, như HTML và Java. Và Java được phát minh bởi một nhà khoa học về máy tính người Canada tên James Gosling.

James Gosling sinh ngày 19 tháng 5 năm 1956 tại Canada. Ông thích máy tính từ rất sớm. Khi đến tuổi vào đại học, ông chọn học về khoa học máy tính tại trường Đại Học Alberta, và hoàn tất bằng Cử Nhân Khoa Học vào năm 1977.
Ông tiếp tục học tại Đại Học Carnegie-Mellon ở Pittsburgh, bang Pennsylvania, Mỹ. Tại trường Carnegie-Mellon, ông lấy bằng Tiến Sĩ cũng về khoa học máy tính. Tên đề tài luận án tiến sĩ của ông là The Manipulation of Algebraic Constraints (Thao tác những ràng buộc Đại số). Sau khi tốt nghiệp năm 1983 ông tham gia tập đoàn Sun Microsystems vào năm 1984. Hiện giờ ông là một kỹ sư phần mềm tại tập đoàn này. Ông là giám đốc kỹ thuật của nhóm sản phẩm dành cho nhà phát triển (Developer Products Group) của Sun. Ông được mọi người ghi nhớ như là người phát minh ra ngôn ngữ lập trình Java. Ông xây dựng bản thiết kế đầu tiên của Java và thực hiện trình biên dịch và máy ảo đầu tiên. Đối với thành công này ông được đề cử vào viện Hàn Lâm Kỹ Thuật Quốc Gia Hoa Kỳ (the United States National Academy of Engineering.)

Trước khi gia nhập Sun, ông đã xây dựng phiên bản hệ điều hành Unix đa bộ vi xử lý, hệ thống cửa sổ chương trình gốc Andrew, bộ công cụ, một số trình biên dịch và hệ thống mail. Ông cũng xây dựng Unix ‘Emacs’ đầu tiên, và giúp xây dựng một hệ thống thu nhận dữ liệu vệ tinh. Lúc đó ông là nhà nghiên cứu ở phòng thí nghiệm của Sun, nơi niềm đam mê chính của ông là những công cụ phát triển phần mềm. Khi ở tập đoàn Sun, Gosling đã tạo ra nhiều chương trình cùng với sự tiến bộ của công nghệ máy tính. Ông tạo ra một trình soạn thảo văn bản cho Unix gọi là ‘Emacs’, hiện nay là một trình soạn thảo rất phổ biến. Ông cũng tạo ra một phiên bản Unix đa bộ vi xử lý, cùng với một số trình biên dịch mã khác nhau. Ông lãnh đạo trong việc tạo ra Network Extensible Windowing System, hay NeWS, có thể phân tán khả năng xử lý của một mạng máy tính.

Tuy nhiên, thành tựu nổi bật nhất của ông là việc phát triển Java. Ban đầu nền tảng và ngôn ngữ Java là một dự án nội bộ của Sun Microsystems trong khoảng thời gian tháng 12/1990. Patrick Naughton, một kỹ sư tại Sun trở nên ngày càng thất vọng với hiện trạng của hệ giao diện lập trình ứng dụng C++ và C và những công cụ của Sun. Trong khi đang xem xét việc chuyển sang làm cho công ty NeXT (một công ty phần mềm sau đó được hợp nhất với Apple), Patrick được tạo cơ hội làm việc trên công nghệ mới và do dó dự án The Stealth Project được bắt đầu.

The Stealth Project sớm được đổi tên lại là Green Project với James Gosling và Mike Sheridan tham gia cùng với Patrick Naughton. Họ, cùng với một số kỹ sư khác bắt đầu làm việc tại một văn phòng nhỏ trên phố Sand Hill ở Menlo Park, bang California, để phát triển một công nghệ mới. Đầu tiên nhóm này xem xét việc sử dụng ngôn ngữ C++, nhưng nhiều người trong số họ, cũng như Bill Joy, nhận thấy C++ và hệ giao diện lập trình ứng dụng (API) hiện có gặp vấn đề vì một số lý do.

Nền tảng để chạy là một hệ thống nhúng và có tài nguyên giới hạn. Nhiều thành viên nhận thấy C++ quá phức tạp và những người phát triển phần mềm thường sử dụng sai nó. Họ nhận thấy việc C++ thiếu thu gom rác (garbage collection) cũng là một vấn đề. Bảo mật, lập trình phân tán, và sự hỗ trợ luồng cũng được cần đến. Cuối cùng, họ muốn một nền tảng mà có thể dễ dàng được chuyển đổi cho tất cả các loại thiết bị.

Theo những tài liệu ghi lại sẵn có, Bill Joy đã có ý tưởng về một ngôn ngữ mới kết hợp với những cái tốt nhất của ngôn ngữ Mesa và C. Trong một tài liệu tên Further, ông đã đề nghị với Sun rằng các kỹ sư của hãng nên tạo ra một môi trường hướng đối tượng dựa trên C++. Sự thất vọng với C++ của James Gosling bắt đầu trong khi làm việc trong Imagination, một trình soạn thảo ngôn ngữ đánh dấu tổng quát (SGML). Ban đầu, James cố gắng sửa đổi và mở rộng C++, cái tên mà ông nhắc đến là C++ ++ -- (là sự chơi chữ của tên C++ có nghĩa là C++ cộng thêm một số cái hay, và trừ đi một số cái dở), nhưng sớm bị loại bỏ để thuận lợi cho việc tạo ra một ngôn ngữ hoàn toàn mới, gọi là Oak, được đặt theo tên cây sồi đứng ngay ngoài văn phòng ông.

Giống như nhiều dự án bí mật nghiên cứu công nghệ mới, nhóm này làm việc nhiều giờ và vào mùa hè năm 1992, họ có thể biểu hiện những phần của hệ thống mới này bao gồm hệ điều hành Green, ngôn ngữ Oak, thư viện và phần cứng. Nỗ lực đầu tiên của họ tập trung và việc xây dựng thiết bị giống như máy trợ lý cá nhân dùng kỹ thuật số (PDA) có giao diện đồ họa cao và một nhân vật thông minh gọi là Duke để hỗ trợ người sử dụng.

Thiết bị này được đặt tên là Star7 theo tên một tính năng của máy điện thoại được kích hoạt bằng *7 trên phím điện thoại. Tính năng này khiến cho người sử dụng có thể trả lời điện thoại bất cứ ở đâu. Chính thiết bị PDA được chạy thử ngày 3 tháng 9 năm 1992.

Tháng 11 năm đó, Green Project được hỗ trợ để trở thành chi nhánh được sở hữu toàn bộ của Sun Microsystems: công ty FirstPerson. Nhóm này chuyển đến Palo Alto. Nhóm FirstPerson này quan tâm đến việc xây dựng những thiết bị có độ tương tác cao và khi Time Warner đưa ra yêu cầu đề nghị (RFP) đối với máy xem truyền hình kỹ thuật số, FirstPerson thay đổi mục tiêu của họ và phản hồi bằng việc đưa ra một hệ thống xem truyền hình. Tuy nhiên ngành công nghiệp truyền hình cáp này cảm thấy rằng nền tảng họ đưa ra quá nhiều kiểm soát đối với người dùng và FirstPerson thua cuộc dự thầu đối với SGI. Một cuộc làm ăn với công ty 3DO về loại máy này cũng không thành công. FirstPerson không thể gây được nhiều chú ý trong ngành công nghiệp truyền hình cáp đối với hệ thống của họ. Theo sau những thất bại, FirstPerson quay trở lại Sun.

Vào tháng 6 và 7 năm 1994, sau 3 ngày suy nghĩ, cùng với John Gage, James Gosling, Bill Joy, Patrick Naughton, Wayne Rosing, and Eric Schmidt, nhóm này đã thay đổi lại mục tiêu của họ, lần này là sử dụng công nghệ cho Internet. Họ cảm thấy rằng với sự xuất hiện của trình duyệt web Mosaic, Internet đang trên đường phát triển để cung cấp cho người dùng những hình ảnh có độ tương tác cao giống như họ đã cảm nhận đối với mạng truyền hình cáp. Patrick Naughton đã viết một trình duyệt web nhỏ, WebRunner, như là một mẫu ban đầu. WebRunner sau này được đặt tên lại là HotJava.

Cũng chính vào năm 1994 ngôn ngữ Oak được đổi tên lại là Java. Một lần tìm kiếm cho thấy là Oak đã được đăng ký tên thương mại bởi một nhà sản xuất bộ điều hợp video, vì vậy nhóm này đã tìm một tên mới. Tên Java được đặt ra tại một tiệm cà phê ở địa phương mà một số thành viên trong nhóm hay lui tới. Chúng ta cũng không rõ là tên Java có phải là tên viết tắt hay không. Có lẽ nó cũng không phải là tên viết tắt Tuy nhiên, theo một số tài liệu ghi lại Java là chữ viết tắt tên của James Gosling, Arthur Van Hoff, và Andy Bechtolsheim. Theo những người khác Java được tạo nên bởi chữ đầu của những từ Just Another Vague Acronym ghép lại. ( ND: có nghĩa là ‘lại thêm một từ viết tắt mơ hồ nữa’.)

Tháng 10 năm 1994, HotJava và nền tảng Java được chạy thử nghiệm cho các nhà quản trị của Sun xem. Năm 1994, mọi người có thể tải về dùng Java 1.0a, nhưng phải đến ngày 23 tháng 5 năm 1995 tại cuộc hội thảo SunWorld, John Gage, Giám Đốc Khoa Học của Sun Microsystems công bố rằng Java và trình duyệt web HotJava mới được tung ra công chúng lần đầu tiên. Theo sau lời công bố của ông, Marc Andreessen, Phó Chủ Tịch Điều Hành của Netscape cũng đưa ra lời công bố rất đáng ngạc nhiên rằng Netscape sẽ hỗ trợ Java trong trình duyệt của nó.

Tháng 1 năm 1996, nhóm kinh doanh JavaSoft được thành lập bởi Sun Microsystems để phát triển công nghệ này. Ngày nay Java là một trong những ngôn ngữ lập trình có nhiều ứng dụng quan trọng. Từ đó đến nay James Gosling vẫn tiếp tục làm việc tại Sun và có những đóng góp lớn trong việc phát triển chiến lược về công nghệ tại tập đoàn này.

Điều làm James Gosling nổi bật so với những người khác là ông là người tiên phong trong việc xây dựng bản thiết kế đầu tiên của ngôn ngữ lập trình Java. Ông đã có những đóng góp to lớn trong việc khởi xướng và phát triển nền công nghệ thông tin thế giới.

Thanh Hà Nguồn:tincntt

Richard Stallman: Người dẫn đầu phong trào phần mềm tự do


Richard Matthew Stallman (được biết đến là RMS) là người sáng lập phong trào phần mềm tự do, dự án GNU, và Tổ chức phần mềm tự do (Free Software Foundation). Ông cũng là một lập trình viên xuất sắc và nổi tiếng. Ông là tác giả của giấy phép công cộng GNU (GNU General Public License), viết tắt GNU GPL hay GPL, giấp phép phần mềm tự do được sử dụng rộng rãi nhất và là người tiên phong đưa ra khái niệm copyleft (sử dụng luật bản quyền để bảo vệ quyền tự do). Stallman là tác giả đầu tiên của GNU Emacs, trình biên dịch GNU C, trình sửa lỗi GNU GDB và các gói phần mềm khác.
Stallman sinh tại Manhattan, ba mẹ của ông là Daniel Stallman và Alice Lippman. Trong những năm tháng làm lập trình ông được biết đến với cái tên viết tắt RMS.
Trong cuốn sách Từ điển Hacker (Hacker's Dictionary) xuất bản lần đầu tiên ông viết "Richard Stallman chỉ là cái tên thông dụng, nên cứ gọi tôi là "rms". Ông nổi tiếng với vai trò là "vị thánh của phần mềm tự do".
Năm 1971, khi là sinh viên năm nhất trường đại học Harvard, Stallman trở thành một lập trình viên tại phòng thí nghiệm Trí tuệ nhân tạo (Artificial Intelligence Laboratory) của viện công nghệ Massachusetts (Massachusetts Institute of Technology). Ông được tuyển dụng bởi Russ Noftsker, người sau này là tác giả của Symbolics và trở thành đối thủ gay gắt của Stallman. Năm 19 tuổi ông làm việc cho một công ty tại Westchester County, ngồi gần bàn với Eben Moglen hiện nay là luật sư phụ trách công nghệ và là cố vấn cao cấp được nhiều người biết đến của Tổ chức phần mềm tự do.

Ông tiếp cận với máy tính lần đầu tiên trong những năm trung học những năm 60. Stallman làm việc tại Trung tâm nghiên cứu khoa học máy tính IBM tại New York và dành cả mùa hè sau khi tốt nghiệp trung học để viết chương trình đầu tiên là bộ tiền xử lý IBM 7094 viết bằng ngôn ngữ lập trình PL/I. Sau này ông kể lại đầu tiên ông lập trình trên PL/I, sau đó ông phải viết chương trình này lại từ đầu bằng hợp ngữ vì chương trình viết trên PL/I quá lớn không thích hợp với máy tính thời đó.

Vào những năm 80, Stallman vẫn tiếp tục làm việc tại một văn phòng tại MIT mặc dù ông không nhận lương nữa. Tại đây, ông đã tạo nên một hệ điều hành mới được gọi là GNU - được viết tắt từ cụm từ GNU's Not Unix - sẽ cho người dùng máy tính quyền tự do mà phần lớn theo ông nghĩ họ không có. GNU là phần mềm tự do: mọi người tự do sao chép và phân phối lại cũng như thay đổi lớn hay nhỏ gì tùy ý.

Vào giữa những năm 90, ông ta dành hầu hết thời gian của mình với vai trò là một nhà vận động chính trị, hỗ trợ phần mềm tự do và vận động chống lại luật "bằng sáng chế ý tưởng phần mềm" (software idea patents) và mở rộng luật bản quyền. Trong khi đó ông vẫn dành thời gian cho việc lập trình GNU Emacs. Hiện tại, ông được nhiều đồng nghiệp ủng hộ và ông vẫn giữ một lối sống rất bình dị.

Tiến trình sáng lập GNU

Stallman được cộng nhận là người lãnh đạo dự án phát triển hệ điều hành GNU, và khởi động phong trào phần mềm tự do.

Dự án GNU bắt đầu vào năm 1984 khi Stallman nghỉ việc tại phòng thí nghiệm Trí tuệ nhân tạo của viện công nghệ Massachusetts (MIT) để phát triển hệ điều hành tự do giống Unix bằng cách ghép các chương trình phần mềm sẵn có với nhau và viết thêm những thành phần cần thiết.

Sau này, ông ta sáng lập nên Tổ chức phần mềm tự do (Free Software Foundation), và Stallman đã nói rằng ông tin chắc rằng con người "xứng đáng có quyền tự do sử dụng và chỉnh sửa phần mềm" cho bất kỳ mục đích nào để "tạo ra phần mềm làm những gì họ muốn". Ông tin rằng phần mềm thương mại sẽ "làm mất quyền dân chủ" trong khi phần mềm tự do cung cấp cho con người nhiều sự lựa chọn cần thiết cho quyền dân chủ thực sự.

Stallman hi vọng rằng các công ty phần mềm cuối cùng sẽ chuyển nguồn thu nhập từ việc kinh doanh phần mềm độc quyền sang cung cấp phần mềm tùy biến dành cho khách hàng, hỗ trợ và tùy biến các cài đặt khác. Stallman nói rằng không phải là không thể kiếm được tiền từ phần mềm tự do.

Vào năm 1985, Stallman xuất bản Tuyên ngôn GNU (GNU Manifesto), vạch ra động lực để tạo một hệ điều hành tự do được gọi là GNU, có khả năng tương thích với Unix. Tên GNU viết tắt theo cách đệ quy cho cụm từ GNU's Not Unix. Ngay sau đó, ông thành lập Tổ chức Phần mềm Tự do (FSF) phi lợi nhuận và tuyển những lập trình viên phần mềm tự do và cung cấp cơ sở, nền tảng pháp lý cho cộng đồng phần mềm tự do.

Vào năm 1989, Stallman phát minh và phổ biến khái niệm copyleft, một cơ chế pháp lý để bảo vệ quyền chỉnh sửa và quyền phân phối lại phần mềm tự do. Sau đó, nhiều phần trong hệ thống GNU đã hoàn tất ngoại trừ nhân (kernel). Vào lúc đó các thành viên của dự án GNU đang làm việc trên một nhân được gọi là nhân GNU Hurd, nhưng quyết định thiết kế nhân GNU đầy rủi ro này về sau cho thấy đây là một quyết định sai lầm, và việc phát triển nhân GNU Hurd đã rất chậm. (Hurd là một dự án của GNU với mục tiêu tạo ra một nhân để thay thế nhân Unix. Tuy nhiên không giống các nhân Unix, nhân Hurd xây dựng trên một vi nhân tên Mach có nhiệm vụ cung cấp các dịch vụ hệ thống cơ bản nhất.)

Trong khi ủng hộ phần mềm tự do, Stallman đóng góp rất tích cực cho cộng đồng phần mềm tự do. Nhiều đóng góp vô giá của ông trong đó có Emacs - trình soạn thảo văn bản phổ biến, và trình biên dịch ngôn ngữ lập trình C cho GNU. Bằng cách tạo ra các công cụ phần mềm cần để viết phần mềm và xuất bản giấy phép công cộng tổng quát (GPL) có thể áp dụng cho bất kỳ dự án phần mềm nào, Stallman cho phép nhiều người khác viết phần mềm tự do độc lập với dự án GNU. Vào năm 1991, một dự án độc lập đã tạo ra nhân Linux. May mắn là dự án này có thể kết hợp với phần mềm GNU đang tồn tại để tạo ra một hệ điều hành hoàn chỉnh. Đây là bước ngoặt lớn cho cho dự án GNU, nhưng sự xuất hiện đồng thời của Linux và hệ điều hành GNU/Linux đã tạo nên sự nhầm lẫn, và đa số mọi người dùng tên Linux để chỉ cả hai.

Stallman yêu cầu mọi người dùng tên "GNU/Linux" để chỉ hệ điều hành được tạo bằng cách kết hợp hệ thống GNU với nhân Linux. Lý do của ông về việc dùng thuật ngữ này là sự liên kết giữa triết lý của dự án GNU và phần mềm của nó bị phá vỡ khi người ta gọi hệ điều hành này là "Linux".

Stallman xác định tầm quan trọng của thuật ngữ mà mọi người dùng để nói về mối quan hệ giữa phần mềm và quyền tự do. Cụ thể là ông luôn yêu cầu mọi người dùng từ "phần mềm tự do", "GNU/Linux", và tránh thuật ngữ "sở hữu trí tuệ". Việc ông yêu cầu mọi người dùng những thuật ngữ này và những nỗ lực của ông trong việc thuyết phục mọi người về tầm quan trọng của thuật ngữ, là nguồn gốc mọi va chạm với một số thành viên của cộng đồng phần mềm nguồn mở và phần mềm tự do.

Những năm qua, nhiều người cố gắng đặt ra một thuật ngữ cho phần mềm tự do mà không gây nhầm lẫn giữa quyền tự do và tính miễn phí. Ngoài thuật ngữ "phần mềm tự do" thì thuật ngữ "phần mềm nguồn mở" được nhiều người sử dụng nhất. Stallman mạnh mẽ phản đối thuật ngữ "phần mềm nguồn mở" vì ông nói rằng nó không thể hiện được mục đích của quyền tự do. Và hiển nhiên thuật ngữ này được ủng hộ bởi những nhân vật không thích các tuyên bố mang màu sắc chính trị và đạo đức của Stallman.

Vì những lý do tương tự ông ta đề nghị mọi người nói "phần mềm độc quyền", thay vì "phần mềm nguồn đóng", khi ám chỉ những phần mềm không phải phần mềm tự do.

Stallman chấp nhận những thuật ngữ như Software Libre, FLOSS, và "phần mềm không bị giới hạn quyền" (unfettered software), nhưng ông thích thuật ngữ "phần mềm tự do" hơn vì ông đã bỏ ra nhiều công sức và tâm huyết vào thuật ngữ này.

Bằng sáng chế

Stallman nói rằng thuật ngữ "sở hữu trí tuệ" được tạo ra với mục đích làm cho mọi người nhầm lẫn. Bằng cách ám chỉ những luật này như những luật "sở hữu", ông nói rằng thuật ngữ này làm ảnh hưởng xấu đến cách suy nghĩ của người nghe về những vấn đề này.

Trong một phạm vi hẹp nào đó, Stallman đề nghị nên dùng những thuật ngữ khác, ví dụ như "bằng sách chế ý tưởng phần mềm" thay vì "bằng sáng chế phần mềm". Lý do của ông là thuật ngữ sau đưa ra ấn tượng sai lệch là bằng sáng chế bao gồm toàn bộ phần mềm. Ông cũng dùng thuật ngữ "chỉ có lệ phí thống nhất" (Uniform Fee Only) - UFO, thay thế cho "không phân biệt và có tính hợp lý " (Reasonable And Non-Discriminatory) (RAND). Lý do là bất kỳ một khoản chi phí phải trả cho bằng sáng chế một cách bắt buộc đều phân biệt chống lại phần mềm tự do bởi vì những nhà phân phối phần mềm tự do không thể tính được số bản sao hiện có. Nhiều người trong cộng đồng nguồn mở và phần mềm tự do đã chia sẻ mối quan tâm này nhưng thuật ngữ của Stallman không được dùng rộng rãi.

Ảnh hưởng của Stallman nổi bật trong thế giới Unix, nơi nhiều phần mềm ông và những người cộng tác trên dự án GNU đã phát triển trong những năm qua được sử dụng rộng rãi. Ông là người có ảnh hưởng lớn trong các tranh cãi về luật sáng chế khi áp dụng cho phần mềm, và ông cũng là người không ủng hộ nguồn mở và cả nguồn chia sẻ khi so sánh với phần mềm tự do.

Biện luận của Stallman rất thành công và ông đã kết hợp hiệu quả hầu hết cộng đồng chia sẻ phần mềm đang tồn tại trở thành "cộng đồng phần mềm tự do", trong đó những ảnh hưởng của Stallman rất quan trọng đến nỗi nhiều tác giả phần mềm tự do đã dùng GPL như là giấy phép cho chương trình của họ mà không xem xét rằng có thể có những dạng giấy phép thay thế khác.

Richard Stallman được xem như một trong những bộ óc vĩ đại nhất của thế kỷ 20. Đóng góp của ông cho cách thức xã hội vận hành ngày càng quan trọng hơn bất kỳ đóng góp của ai khác. Ông có trách nhiệm hơn ai hết trong việc chỉ ra hướng đi để tránh những hạn chế vô lý của luật sở hữu trí tuệ hiện đại.

Hải Hà Nguồn:tincntt

Linus Torvalds: Người phát minh nhân Linux.


Một số người sinh ra để dẫn đầu hàng triệu người. Những người khác sinh ra để viết phần mềm thay đổi cả thế giới. Nhưng chỉ có một người có thể làm được cả hai, đó là Torvalds.

Linus Torvalds sinh ngày 28 tháng 12 năm 1969 tại Helsinki, Phần Lan. Ông là con trai của Nils và Anna Torvald. Tên của Linus Torvalds được đặt theo tên của Linus Pauling, nhà khoa học người Mỹ đạt giải Nobel hóa học năm 1954 và giải Nobel Hòa bình năm 1962. Linus quan tâm đến máy tính chủ yếu do ảnh hưởng của ông ngoại. Gia đình ông thuộc nhóm cộng đồng thiểu số nói tiếng Thụy Sĩ (chiếm khoảng 6% dân số Phần Lan). Vì lí do này, mọi người đã không hiểu khi ông phát âm từ Linux.

Thời phổ thông ông học toán rất xuất sắc. Sau đó ông học tại truờng đại học Helsinki từ năm 1988 đến 1996, và tốt nghiệp với bằng thạc sĩ ngành khoa học máy tính. Ông viết luận án thạc sĩ về Linux có tựa đề "Linux: hệ điều hành có thể chuyển đổi được" (A Portable Operating System).

Ông làm cho tập đoàn Transmeta từ tháng 2 năm 1997 đến tháng 6 năm 2003, hiện nay ông làm việc cho phòng thí nghiệm phát triển mã nguồn mở (The Open Source Development Labs), một tổ chức phát triển phần mềm đặt trụ sở tại Oregon.

Những bước đầu tạo ra Linux.

Đầu tiên Torvalds sử dụng nhân Minix trên máy tính của ông, là nhân được đơn giản hóa do Andrew Tanenbaum viết cho việc dạy thiết kế hệ điều hành. Tuy nhiên, Tanenbaum không hỗ trợ việc mở rộng hệ điều hành của ông, do đó Torvalds muốn viết một hệ điều hành thay thế Minix. Linux bắt đầu là chương trình giả lập thiết bị đầu cuối được viết bằng hợp ngữ Intel 80368 và ngôn ngữ C, được biên dịch thành dạng nhị phân và được khởi động từ một đĩa mềm để nó có thể chạy mà không cần bất kỳ hệ điều hành nào. Vào lúc đó chương trình giả lập thiết bị cuối chỉ chạy hai luồng: một để gửi và một để nhận các ký tự từ cổng nối tiếp. Khi Linus cần viết và đọc các tập tin trên đĩa cứng, chương trình giả lập thiết bị cuối theo kiểu chuyển tác vụ này đã được bổ sung thêm tính năng quản lý hệ thống tập tin, và sau đó dần dần chuyển thành một hệ điều hành hoàn chỉnh với mục tiêu tương thích chuẩn POSIX (Portable Operating System Interface based on uniX - giao diện hệ điều hành chuyển đổi dựa trên Unix). Linus lập trình vừa đủ theo API của hệ thống POSIX để môi trường dòng lệnh Bash có thể chạy được trên Linux và sau khi phần khởi động được viết xong, việc phát triển nhân Linux trở nên nhanh chóng hơn. Mặc dù lúc đầu muốn chạy Linux cần phải có một hệ thống Minix chạy bên dưới để cấu hình, biên dịch, cài đặt và chạy nó nhưng sau đó hệ thống Linux nhanh chóng vượt trội Minix về chức năng và nó có thể tự khởi động và tự biên dịch mã nguồn.

Ảnh hưởng của Linux


Phiên bản đầu tiên của nhân Linux được tung lên Internet vào tháng 9 năm 1991, theo sau là phiên bản thứ hai vào tháng 10. Và sau đó Linux thuộc về cả thế giới. Từ đó hàng ngàn các nhà phát triển trên thế giới tham gia vào dự án này.

Torvalds bắt đầu viết Linux vào năm 1991 khi là một sinh viên ngành khoa học máy tính tại trường đại học Helsinki, Phần Lan. Cảm thấy thất vọng với chuẩn hệ điều hành MS-DOS thông dụng trên máy tính (tiền thân của hệ điều hành Windows), Torvalds đã tạo ra Linux và chia sẻ cho mọi người để họ tự do tải về dùng, ông cũng đưa mã nguồn để những người có kiến thức lập trình có thể chỉnh sửa Linux hợp với nhu cầu của họ. Phần mềm này đã tạo ra những bước phát triển lớn theo sau nó, và đã thu hút được những hãng máy tính nổi tiếng như Oracle, IBM, Intel, Netscape và nhiều hãng khác. Chính nhờ Linux mới sinh ra hàng loạt các công ty phần mềm mới, bao gồm Red Hat, SUSE Linux và Turbolinux.


SUSE Linux

Hiện nay có hàng trăm triệu bản sao Linux chạy trên các máy chủ, máy tính để bàn, thiết bị mạng, và trong các thiết bị nhúng trên khắp thế giới. Với sự hỗ trợ của phòng thí nghiệm phát triển nguồn mở, hiện nay Torvalds đang phát triển nhân Linux độc lập với nhà sản xuất. Vật đem lại may mắn cho ông là chim cánh cụt có tên Tux, được sử dụng rộng rãi trong cộng đồng Linux như là biểu tượng của Linux.



Knoppix linux


Ứng dụng của Linux

Linux là nền tảng của sự kết hợp phần mềm - máy chủ thường được gọi là LAMP (Linux, Apache, MySQL, Perl/PHP/Python) và rất phổ biến đối với các nhà phát triển Web, nó trở thành một trong những nền tảng thông dụng nhất trên Web. Linux cũng được sử dụng trong các hệ thống nhúng. Chi phí thấp làm cho nó đặc biệt hữu ích trong các đầu thu truyền hình kỹ thuật số và cho các thiết bị như Simputer, máy tính đặc biệt nhắm vào những người có thu nhập thấp ở các nước đang phát triển. Trong lĩnh vực điện thoại di động, Linux là một lựa chọn khác của phần mềm hệ điều hành Symbian. Trong các thiết bị cầm tay, nó là sự lựa chọn thay thế Windows CE và hệ điều hành Palm OS. Máy quay video TiVo phổ biến cũng dùng phiên bản tùy biến của Linux. Rất nhiều hệ thống tường lửa và bộ định tuyến, bao gồm một số hệ thống của hãng Linksys, cài sẵn Linux trong phần cứng để tận dụng khả năng tường lửa và định tuyến cao cấp của nó. Linux ngày càng phổ biến như là một hệ điều hành cho các siêu máy tính, gần đây nhất là siêu máy tính Cray XD1 chạy các bộ xử lý Opterons 64-bit của hãng AMD.


Fedora 4 Linux

Linux ngày càng phổ biến là hệ điều hành cho máy tính để bàn. Trong môi trường máy tính để bàn như KDE và GNOME, Linux có thể được dùng với một giao diện người dùng giống như của hệ điều hành Mac hay Microsoft Windows và các môi trường máy tính để bàn khác và giao diện dòng lệnh giống Unix truyền thống. Phần mềm giao diện đồ họa chạy trên Linux tồn tại ở hầu hết các lĩnh vực và trong một số lĩnh vực thậm chí số lượng phần mềm nhiều hơn số phần mềm chạy trên các hệ điều hành độc quyền.

Kết luận

Không giống như nhiều người truyền bá nguồn mở khác, Torvalds rất khiêm tốn, ông ít nói về mình và thường từ chối bình luận về các sản phẩm phần mềm cạnh tranh khác như hệ điều hành Windows của Microsoft hiện đang thống lĩnh thị trường.

Linus Torvalds, người được xem là "Cha đẻ của hệ điều hành Linux", vừa được Ban giám đốc Uniform chọn cho giải thưởng Uniform Award vì những thành tựu có tính đột phá trên nhân Linux và những nỗ lực tiên phong của ông trong việc tạo ra một phần mềm mã nguồn mở cho tất cả mọi người với chi phí rất thấp hoặc không chi phí cho bất kỳ ai muốn phát triển sản phẩm dựa trên nó. Được tạp chí Time bầu chọn là một trong những nhân vật có ảnh hưởng lớn trong thế giới máy tính, Linus Torvalds cũng giành đuợc một trong giải thưởng ưu tú nhất là giải thưởng Innovations Awards do tạp chí The Economist trao tặng Torvalds tại lễ kỉ niệm tại San Francisco.

Hải Hà. Nguồn:tincntt