Web 2.0 Vietnam Logo

Ext JS và Bài Học Về Mã Nguồn Mở

Căn bản April 29th, 2008


Cách đây ít ngày một thư viện JavaScript/Ajax mà tôi rất thích dùng, Ext JS, đột ngột chuyển giấy phép sử dụng từ LGPL (một phiên bản của GPL cho phép sử dụng phần mềm mã mở trong các dự án thương mại) sang GPL v3 (một giấy phép mã mở chặt chẽ bắt buộc các dự án muốn dùng phần mềm mã mở cũng phải là mã mở) sau khi công bố một bản nâng cấp nhỏ. Điều này đã làm dấy lên một làn sóng phản đối, công kích trong khắp cộng đồng người dùng và phát triển.

extjs-gpl.gif

Tôi đã dùng Ext JS ngay từ khi nó chỉ là một thư viện mở rộng của YUI. Đây là một thư viện rất tốt, đặc biệt nó cung cấp những gói UI rất đẹp và dễ sử dụng — chỉ cần vài dòng code JavaScript bạn đã có thể tạo nên một giao diện chuyên nghiệp cho ứng dụng web của mình. Lúc này thư viện có tên là YUI-Ext và được phân phối dưới giấy phép BSD như YUI.

Sau đó Jack Slocum và nhóm phát triển đã đưa thư viện YUI-Ext vượt khỏi phạm vi của YUI trở thành một dự án độc lập. Khi version đầu tiên của Ext JS ra lò, giấy phép sử dụng được đổi thành kiểu “song hành” (dual license): người dùng có thể chọn LGPL (với một vài hạn chế nhỏ) hay mua giấy phép sử dụng thương mại. Có thể nói đây là một bước đi không có gì đáng chê trách để Jack và đồng sự có thể kiếm tiền cho việc phát triển của dự án. Cộng đồng phát triển mã mở vẫn rất vui lòng đóng góp và ủng hộ cho dự án, hơn 35.000 thành viên của diễn đàn Ext JS đã đóng góp vô số ý kiến, thông báo lỗi và tạo nên các thư viện mở rộng (extension) cho chính Ext JS.

Sự kiện Ext JS chuyển giấy phép sử dụng thành GPL (từ phiên bản 2.1 trở đi) đã gây sốc cho công đồng mã nguồn mở vì nhiều lý do. Không hẳn vì chúng ta sẽ phải trả tiền cho Ext. Với giấy phép thương mại hiện tại bạn chỉ cần mua một bản (cho 1 lập trình viên) là có thể triển khai không hạn chế trên nhiều máy chủ (chính xác hơn là trên số CPU không giới hạn). Những lý do chính khiển cộng đồng phát triển không hài lòng là:

  1. Vấn đề đạo đức: Ext JS khởi đầu là một dự án “ăn theo” YUI, họ nhận được nhiều quan tâm vì danh tiếng của YUI. Sau khi xác lập đựơc vị trí, họ bỏ giấy phép tự do và bắt đầu theo đuổi giấy phép chặt chẽ hơn. Là một dự án mã mở, họ nhận được rất nhiều đóng góp từ cộng đồng và đổi lại cộng đồng phát triển ngày lại càng bị thu hẹp phạm vi sử dụng.
  2. Vấn đề lòng tin: Bạn có thể tin được một công ty thay đổi giấy phép thường xuyên theo hướng càng kiếm được nhiều tiền càng tốt hay không? Điều gì sẽ xảy ra nếu một ngày đẹp trời nào đó, sau khi triển khai ứng dụng trên hàng chục máy chủ (tức là vài chục CPU), Ext JS đổi giấy phép thương mại từ “unlimited” sang “per-CPU”? Bạn sẽ phải chấp nhận trả một khoản phí “trên trời rơi xuống” hay bỏ mặc ứng dụng của mình không được nâng cấp hay vá lỗi?
  3. Vấn đề phạm vi giấy phép: Điểm khác biệt giữa LGPL và GPL là giờ đây dự án nào muốn dùng Ext JS miễn phí thì cũng phải là “nguồn mở” theo đúng giấy phép GPL v3. Có ba vấn đề gây tranh cãi là: (1) Vì Javascript được chuyển từ server qua browser người dùng, thì việc này có được coi là “phân phối” mã nguồn và do đó chịu sự rằng buộc của GPL hay không? (2) Việc nén, obfuscate các thư viện Ajax theo GPL có hợp lệ hay không khi người được phân phối (tức là người dùng ứng dụng) không xem được toàn bộ mã nguồn? (2) Theo Jack, mã server-side (Java, PHP…) của dự án cũng phải là nguồn mở mới được dùng Ext JS trong khi một số chuyên gia về giấy phép mã mở cho rằng điều đó là không đúng vì mã JavaScript không có mối liên kết tĩnh (statical link) nào với mã server (?).
  4. Vấn đề thích hợp: Vì những rắc rối nói trên mà bản thân giấy phép GPL v3 không “bao phủ” được hoàn toàn nên hầu hết các thư viện JavaScript đều chọn các giấy phép nguồn mở tự do hơn như BSD hay Apache 2. Việc Ext JS chọn GPL sẽ để lại các “lỗ hổng” có thể dẫn tới việc tranh tụng trong nhiều trường hợp hay nói cách khác chúng giống như những cái bẫy tiềm năng khiến cho việc sử dụng thư viện này theo hướng mã mở hoặc không thể thực hiện được hoặc không hiệu quả.

Nhiều người nói rằng dùng mã nguồn mở là hướng đi rẻ tiền, dễ dàng cho các công ty Việt Nam nhưng câu chuyện trên chỉ là một phần nhỏ trong rất nhiều vấn đề mà các giấy phép mã nguồn mở đặt ra. Tại Mỹ, muốn có lời khuyên đúng đắn bạn sẽ phải nhờ tới các luật sư có kinh nghiệm trong lĩnh vực này và không thực sự có nhiều luật sư như vậy (chắc chắn Jack đã không có được một luật sư tốt).

Qua vụ việc này tôi đã có được nhiều bài học (rất hữu ích cho các CIO), xin tổng kết lại dưới đây:

  1. Giấy phép sử dụng (mã mở hay thương mại) có thể bị thay đổi bất kỳ lúc nào. Mặc dù việc thay đổi giấy phép không áp dụng ngược với các phiên bản trước nhưng bạn sẽ phải đối mặt với vấn đề “trả tiền để được nâng cấp, hỗ trợ hay bỏ mặc phần mềm đó“. Vì thế nên dùng phần mềm mở do các công ty có uy tín bảo trợ vì thường họ rất ít khi thay đổi giấy phép nếu không có lý do chính đáng.
  2. Khi dùng mã nguốn mở, bạn phải đánh giá được mức độ rủi ro có thể gây ra do việc đổi giấy phép và chấp nhận mức độ rủi ro này.
  3. Không phải tất cả các giấy phép mã mở đều giống nhau. Hiểu hết các “ngõ ngách” trong đống ngôn từ của các giấy phép này là việc của các chuyên gia và dù vậy bạn vẫn có thể dính vào kiện tụng do sự diễn dịch khác nhau giữa các bên và khi ấy quyền phán quyết nằm ở tòa án.
  4. Nếu bạn định phân phối phần mềm của mình dưới giấy phép mã nguồn mở thì hãy suy nghĩ và tìm hiểu thật kỹ về phạm vi của các giấy phép này. Tất nhiên, vì là phần mềm của bạn nên bạn có quyền thay đổi giấy phép bất kỳ lúc nào cho các phiên bản mới, nhưng nếu không có lý do chính đáng cộng đồng mã mở sẽ cho rằng bạn đang lợi dụng mã mở để chuộc lợi và bạn sẽ nhanh chóng bị tẩy chay. Trong thế giới đầy cạnh tranh, bạn sẽ biến mất nhanh hơn bạn tưởng.

Ext JS và cá nhân Jack đang chịu nhiều sức ép từ phía cộng đồng. Có thể việc thay đổi giấy phép là bắt buộc nhằm kiếm tiền từ dự án để trả lương cho các lập trình viên nhưng người dùng không khỏi có cảm giác bất mãn khi đã bỏ công sức xây dựng các ứng dụng dựa vào thư viện này rồi đột nhiên nhận thấy nó sẽ không thích hợp nếu sử dụng vào các dự án thương mại hay mã đóng như dự kiến. Quan trọng hơn, việc đổ vỗ lòng tin khiến cho những người dùng nghiêm túc phải suy nghĩ lại về quyết định của mình khi đặt niềm tin lâu dài vào Ext JS.

Các bạn có thể tham khảo thêm về “vụ” Ext JS ở các bài viết dưới đây:

Định Hình Chiến Lược Web Của Microsoft Qua Live Mesh

Căn bản, Microsoft April 25th, 2008


Hôm qua bản thử nghiệm của Live Mesh đã đến với 10.000 người đăng ký đầu tiên và thế giới đã có thể định hình chiến lược mới về Web của Microsoft.

Trước hết chúng ta hãy tìm hiểu một chút xem thực sự Live Mesh là gì?

Live Mesh Là Gì?

diagram_top.png

+ Giới Thiệu: Mesh là một dịch vụ giúp bạn đồng bộ (synchronize) tài liệu, hình ảnh, feeds, các cài đặt trên nhiều máy tính, thiết bị. Nếu bạn nào đã dùng plugin Foxmarks thì đều biết đây là dịch vụ giúp bạn đồng bộ các bookmark của Firefox trên nhiều máy tính khác nhau. Ví dụ: Tôi đang xem một bài viết hay trên blog “Người Tập Viết” và muốn bookmark lại để tham khảo sau; nhưng khi về nhà tôi lại không tìm được link tới bài viết này vì lưu tôi bookmark trên Firefox ở máy của công ty. Sau khi cài Foxmarks thì đây không còn là vấn đề vì nó sẽ tự động xem có bookmark nào mới hay bị xóa/sửa và “đồng bộ hóa” chúng trên tất cả các bản Firefox mà tôi dùng.

Mesh cung cấp dịch vụ ở mức cao hơn, dịch vụ này có khả năng đồng bộ hóa tất cả các tài liệu, tập tin và cả các thiết đặt trong các ứng dụng từ máy này sang máy kia. Và nếu nó hoạt động như Microsoft hứa hẹn thì trong tương lai không xa nếu tôi đặt font chữ “VNI-Times” là mặc định trong ứng dụng Word (for Mesh?) tại máy tính ở công ty thì khi mở máy ở nhà Word của tôi cũng sẽ tự động đổi sang “VNI-Times” làm font mặc định và cả Word trong cái O2 cũng vậy (chỉ là giả dụ vì tôi không dùng O2, một loại smart phone chạy trên HĐH Windows mobile). Đương nhiên các tài liệu viết trên bản Word này cũng sẽ được đồng bộ trên tất cả các máy tính kết nối với Live Mesh.

+ Thành phần và Chức năng: Live Mesh bao gồm 2 thành phần chính là một dịch vụ web mà bạn có thể đăng ký các máy móc bạn muốn đưa vào dùng (như máy tính, mobile phone…) trong Mesh và một phần mềm có gói cái đặt dung lượng 2MB, gọi là Môi trường điều hành Mesh — Mesh Operating Environment (MOE), giúp bạn tích hợp Mesh vào Windows. Dịch vụ Web có tên là “Live Desktop” được thiết kế trông giống như Windows desktop là cửa ngõ để kích hoạt các ứng dụng trực tuyến, chia sẻ thông tin.

Hiện tại, Live Mesh chỉ có hai chức năng chính là chia sẻ tập tin, thư mục giữa các máy tính và cho điều khiển máy tính từ xa (Remote Desktop) qua giao diện web (phải dùng IE) hay bằng một ứng dụng trong MOE. Ngoài ra MOE còn cài ứng dụng có tên “Live Mesh Notifier” để báo cho bạn biết những gì xảy ra trong Mesh của mình và tích hợp “Mesh Companion Bar” vào Windows Explorer (hmm, một cách làm rất điển hình kiểu Microsoft).

livemesh-folder.jpg

Ngoài ra, Live Mesh còn cho bạn một không gian lưu trữ chung 5GB mà bạn có thể truy cập từ bất kỳ đâu có Internet và vì nó được tích hợp vào Remote Desktop nên bạn sẽ có thể thao tác trên đó rất dễ dàng.

+ Công nghệ và Mục tiêu: Công nghệ lõi của Live Mesh là FeedSync trước kia có tên là Simple Sharing Extensions, một công nghệ riêng của Microsoft lấy ý tưởng từ việc đồng bộ hóa tin qua “feeds” để mở rộng cho việc đồng bộ hóa các tài liệu khác.

Mục tiêu lớn nhất của Microsoft là biến Live Mesh thành một nền tảng (platform) để xây dựng các ứng dụng kiểu “for Live Mesh”. Các ứng dụng này sẽ có khả năng hoạt động ngay cả khi không có kết nối Internet, khi “online” trở lại dữ liệu sẽ được đồng bộ bằng công nghệ P2P để tiết kiệm băng thông tối đa.

Chiến Lược ” Windows for Web”

Câu hỏi mà các nhà phân tích luôn đặt ra với Microsoft là họ sẽ làm thế nào để đưa các sản phẩm, dịch vụ của mình lên web mà không làm hại lãnh địa chính của mình trên desktop. Giờ đây chúng ta đã có thể thấy được câu trả lời của Microsoft qua Live Mesh.

Live Mesh bản chất là một cố gắng Windows hóa Web. Vấn đề lớn nhất với các ứng dụng desktop ngày này là chúng hoạt động như các ốc đảo trong khi web cho phép lưu trữ và sử dụng dữ liệu từ bất kỳ đâu trên trái đất. Web đã tạo nên một hệ thống hỗ tương (ecosystem) giữa các thiết bị điện tử, một ví dụ điển hình nhất là mối liên hệ giữa iPod và iTunes, cái nọ là động lực cho sự phát triển của cái kia với Internet là phương tiện đồng bộ hóa. Microsoft luôn gặp khó khăn khi phải hộ trợ việc đồng bộ hóa dù là đơn giản nhất. Nếu mọi thứ đều chạy trên Windows thì chẳng có vấn đề gì vì họ có thể kiểm soát được mọi chuyện ở đó, nhưng thời đại đã đổi thay khi ngày nay các thiết bị chủ yếu dùng Web để trao đổi và chia sẻ dữ liệu.

Web đã từng là một nơi dễ kiểm soát đối với Microsoft nhưng lại đang là mối đe dọa tiềm tàng lớn nhất với người khổng lồ trên đôi cánh Windows này. Web đang trở thành trung tâm của giải trí và làm việc khiến cho Windows ngày càng lạc hậu trước các ứng dụng web của Google và Yahoo. Câu trả lời có tính chiến lược nhất của Microsoft là phải tạo nên một “Windows for Web” và thúc đẩy việc tạo ra các ứng dụng mới trên nền tảng này. Các ứng dụng “for Mesh” sẽ gắn chặt với hệ điều hành và có thể hoạt động offline như các ứng dụng desktop khác trong khi vẫn có các ưu điểm của các ứng dụng web như có thể lưu trữ dữ liệu tập chung và truy cập dữ liệu từ bất kỳ đâu trên nhiều thiết bị khác nhau. Người dùng sẽ vẫn có cảm giác quen thuộc như khi dùng các ứng dụng desktop…

Windows desktop sẽ được thay thế bằng Live Desktop, “My Computer” nhường chỗ cho “My Mesh” nơi bạn có thể nhìn thấy tất cả các máy tính, thiết bị gắn vào Mesh (hiện tại thì bạn chỉ có thể đưa máy tính chạy Windows XP hay Vista vào Mesh thôi). Bạn có thể đưa các thư mục bạn muốn chia sẻ như “My Documents” hay “My Music” vào không gian của Mesh và Mesh sẽ đồng bộ hóa khi bạn có bất kỳ thay đổi gì trong các tài liệu, tập tin ở đó.

Tuy nhiên, điều cốt lõi để chiến lược này thành công và biến Mesh thành nền tảng Web “mặc định” thì cần nhiều ứng dụng phát triển trên đó. Microsoft sẽ cung cấp các API (kiểu REST) cho các nhà phát triển ứng dụng bằng Javascript hay Silverlight, ngoài ra các ứng dụng có thể trực tiếp “nói chuyện phải quấy” với Mesh qua FeedSync. Nhưng có lẽ các nhà phát triển sẽ phải chờ tới cuối năm nay mới có được các công cụ cần thiết để tạo những ứng dụng đầu tiên cho Mesh.

Vài Suy Nghĩ

Điều chúng ta có thể nhận thấy từ văn hóa của Microsoft là họ luôn sẵn sàng tạo ra những sản phẩm không xuất sắc lắm và không ngừng cải tiến nó cho đến khi hoàn chỉnh và họ cũng không bao giờ xa rời chiến lược chủ đạo “Windows là tất cả” của mình.

Web có thể là mối đe dọa lớn nhất với Microsoft nhưng nếu có chiến lược đúng đắn nó lại có thể biến Web thành cơ hội lớn nhất với họ. Tôi sẽ không ngạc nhiên nếu thế hệ tiếp theo của Word, Excel… sẽ là Word for Live Mesh, Excel for Live Mesh… (hay Office for Live Mesh), khi ấy kịch bản mà tôi trình bày trong phần giới thiệu ở trên sẽ không còn là giả định nữa. Và sẽ thật thú vị nếu lại được chứng kiến một thế hệ các phần mềm mới “for Live Mesh” xuất hiện tương tự các ứng dụng “for Windows” ngày nào.

Vấn đề lớn nhất là cộng đồng phát triển và khối doanh nghiệp sẽ phản ứng thế nào với nền tảng Live Mesh, liệu họ có muốn để Microsoft áp đặt các tiêu chuẩn của mình lên Web (nữa) hay không?

Web 2.0: Hiện Tượng và Bản Chất

Căn bản, Khái Niệm, Web 2.0 Blog March 20th, 2007


Hôm nay, web 2.0 không còn là một khái niệm khó hiểu do một nhóm những người “cấp tiến” nắm giữ những bí quyết nữa. Nó đã trở thành câu chuyện hàng ngày trên các mặt báo và cả trong… quán café. Cách đây vài hôm tôi có nghe được câu chuyện của hai người trong bữa ăn trưa thế này:

A: …thế còn web 2.0 là thế nào nhỉ, nghe nói hay lắm phải không?

B: Ah, web 2.0 là do bây giờ đường truyền mạnh nên đưa mọi thứ lên web…

Qua câu chuyện có thể thấy người ta bắt đầu không thỏa mãn với cái web hiện tại. Không có gì ngạc nhiên cả vì ngày nay hầu như không người sử dụng web nào không “đụng” tới một ứng dụng Web 2.0 và một khi đã dùng rồi thì họ sẽ tự hỏi sao các trang web còn lại không làm được như vậy. Ở phía các doanh nghiệp, một trong số các khách hàng lớn nhất của công ty tôi cũng đang có một “big plan” chuyển toàn bộ ứng dụng nghiệp vụ của họ lên chuẩn web 2.0…

Tôi cũng không nghĩ anh B giải thích sai về Web 2.0 nhưng dường như mỗi người đều cố diễn giải về web 2.0 theo cách nghĩ riêng của mình. Ngay cả khi bạn đọc kỹ từng câu, từng chữ bài viết của Tim O’Reilly (và cả các bài khác trên blog này :) ) thì tôi cũng dám đoan chắc là bạn khó có thể hiểu web 2.0 thực sự là gì. Nó là mạng xã hội, là trí tuệ tập thể, là blog, là AJAX, mashup, tag hay là một giao diện bóng bảy?

Sai lầm lớn nhất của giới báo chí và những người cổ vũ cho web 2.0 là dùng hiện tượng giải thích cho nguyên nhân. Tất cả những cái như mạng xã hội, blog… chỉ là kết quả của một quá trình thay đổi về tư duy đã diễn ra trong những năm gần đây. Web 2.0 là có thực nhưng nó không phải là cái mà bạn có thể định nghĩa thông qua một vài ví dụ hay vài mỹ từ. Web 2.0 cũng không hẳn là cái mà bạn chỉ biết được khi bạn thấy nó. Thật không may, những ngôn từ hoa mỹ, những khẩu hiệu giật gân thường phủ bóng lên những điều quan trọng nhất. Sàng lọc lại, đây là những cái mà chúng ta nên hiểu về bản chất của Web 2.0:

  • Web 2.0 là tự do về dữ liệu: Có rất nhiều bạn nói rằng họ không hiểu rõ về web API, RSS, mashup, tag… Nói chung đó là những công cụ giúp bạn lấy dữ liệu từ những nguồn khác nhau trên web mà không cần phải vào trang web đó. Dùng API của Flickr bạn có thể xem các hình ảnh trên trang web này mà không cần phải vào Flickr. Dữ liệu ở trên web luôn có rất nhiều và trước kia người ta không thể lấy về dùng một cách tự động và tiện lợi. Web 2.0 đã thỏa mãn giấc mơ đó.

  • Web 2.0 là băng thông rộng: Web 2.0 tận dụng việc phổ biến của đường truyền băng thông rộng như ADSL, cáp quang… Bạn thử tưởng tượng việc xem một đoạn video trên YouTube với kết nối dial-up sẽ thế nào? Nếu không có băng thông rộng thì hầu hết các ứng dụng Web 2.0 sẽ chỉ có ý nghĩa trong một trường thí nghiệm.

  • Web 2.0 là sự liên kết: Web 2.0 là sự liên kết giữa người với người (MySpace), giữa các từ khóa, khái niệm với nhau (Wikipedia), giữa các website (Mashup)… Bản chất, Web 2.0 thay đổi cách liên kết từ quan hệ một-nhiều (one-to-many, tức là từ một website tới những người truy cập) sang quan hệ nhiều-nhiều (many-to-many) bằng các mối liên kết mới.

  • Web 2.0 đặt con người lên trên công nghệ: Tuần báo Time đã bầu “person of the year” năm 2006 là YOU. Tại sao? Bạn, con người, chính là trung tâm của web 2.0, và theo báo Time, cuộc cách mạng Web 2.0 là tâm điểm của năm 2006! Đây cũng chính là đặc điểm dễ thấy nhất của Web 2.0, nó hiểu người dùng cần gì trên Web và thỏa mãn họ.

  • Web 2.0 cho phép người dùng “sử dụng” dữ liệu chứ không chỉ “lấy” dữ liệu: Công đầu của công nghệ AJAX không phải là làm cho các ứng dụng web dùng giống như các ứng dụng desktop mà giúp người dùng dễ dàng thay đổi, thêm, bớt dữ liệu tùy ý trên web thay vì chỉ có thể “đọc” chúng như những bản tin.

  • Web 2.0 làm cho người ta không còn nghĩ Web chỉ là một dạng báo điện tử hay một kiểu TV khác: Hmm, đã có lúc người ta coi Web là một dạng truyền thông như báo chí hay TV vì tính một chiều của nó. Nhưng web 2.0 cho thấy giờ đây có những cái bạn chỉ có thể làm thông qua Web chứ không thể qua báo chí hay TV. Tính tương tác mà Web 2.0 đem lại làm cho Web vượt qua khái niệm một trang báo điện tử: nó sẽ trở thành một phương tiện giao tiếp hơn là một công cụ tuyên truyền.

Cuối cùng, nếu bạn đã hiểu bản chất web 2.0 là gì thì điều quan trọng nhất khi làm một trang web 2.0 là hãy tưởng tượng ra cái gì bạn không thể làm được nếu không có WEB.

Định nghĩa rút gọn về Web 2.0

Căn bản, Web 2.0 Blog December 11th, 2006


Tom O’Reilly đã cố gắng rút gọn lại định nghĩa về Web 2.0 thay cho bài viết nổi tiếng What’s Web 2.0 đã có “thâm niên” của mình.

Có thể nói ngay sau khi bài viết diễn giải một cách có hệ thống nhất về khái niệm “Web 2.0 là gì?” được xuất bản năm 2005 thì các cuộc tranh luận về “thực sự Web 2.0 là gì” vẫn cứ tiếp diễn. Có những cách giải thích khác nhau về web 2.0 như kiểu:

… nếu một ngày nào đó cháu nội tôi hỏi: “Ông ơi web 2.0 là gì?” thì tôi sẽ phải trả lời là “… Cháu à, Web 2.0 là lúc người ta thôi không dùng máy tính nữa mà chuyển qua dùng Internet”.

Tuy đây là một câu định nghĩa có tính hài hước và mâu thuẫn, nhưng nó cũng không khác quá xa định nghĩa rút gọn của O’Reilly:

Web 2.0 is the business revolution in the computer industry caused by the move to the internet as platform, and an attempt to understand the rules for success on that new platform. Chief among those rules is this: Build applications that harness network effects to get better the more people use them. (This is what I’ve elsewhere called “harnessing collective intelligence.”)

Tạm dịch:

Web 2.0 là một cuộc cách mạng trong ngành công nghiệp máy tính. Nó xảy ra khi người ta chuyển sang dùng Internet như một nền tảng và cố gắng tìm hiểu cách thức thành công trên nền tảng mới nay. Qui tắc chính là: Xây dựng các ứng dụng có thể tận dụng các “hiệu ứng mạng” để tạo ra các giá trị tốt hơn và (vì thế) có nhiều người dùng hơn. (Nói cách khác là tận dụng “trí tuệ tập thể”).

O’Reilly cũng trích dẫn câu của Eric Schmidt (Google CEO): “Don’t fight the internet.” (đừng cố chống lại Internet) để nhắc nhở mọi người rằng Web 2.0 là thời đại của những suy nghĩ có tầm toàn cầu, muốn thành công bạn phải thoát ra khỏi lối tư duy của kỷ nguyên PC.

Ông cũng chỉ ra một vài qui tắc để thành công trong Web 2.0, đó là:

  1. Đừng coi phần mềm là một tác phẩm (đặc thù) mà phải có đó là một quá trình tiếp cận với người dùng.
  2. Mở cửa dữ liệu của bạn cho người khác dùng và dùng lại dữ liệu của người khác bất cứ khi nào có thể.
  3. Đừng nghĩ tới việc ứng dụng của bạn nằm ở máy chủ hay máy của người dùng mà hãy xây dựng những ứng dụng nằm ở trung tâm các máy móc khác.
  4. Xin nhớ rằng trong môi trường mạng, API mở và giao thức tiêu chuẩn luôn thắng thế (so với các giao thức riêng/API đóng) nhưng điều này không có nghĩa là lợi thế cạnh tranh không tồn tại.
  5. Điều cốt yếu nhất trong lợi thế cạnh tranh nằm ở dữ liệu bất kể nó do người dùng thu thập, xây dựng lên hay do sở hữu một miền tên (namespace như Gracenote/CDDB, Network Solutions) hay từ việc sở hữu các định dạng file (Microsoft Office, iTunes). Nói một cách ngắn gọn, trong Web 2.0 dữ liệu chính là “Intel Inside”.

Tóm lại, cách định nghĩa của Tom O’Reilly nhắm tới cách tư duy mới trên một nền tảng hoàn toàn khác với nền tảng các ứng dụng PC đã tồn tại từ trước tới nay. Thông điệp là: Đây là thời đại của Internet, và bạn cần có cách tiếp cận mới – cách tư duy 2.0. Xin đọc toàn bài viết của O’Reilly ở đây.

Suy Nghĩ Từ Web 2.0 Summit

Căn bản, Nhận định, Web 2.0 Blog November 13th, 2006


Trong bài viết trước, Web 2.0 Việt Nam đã tổng hợp môt số chủ đề nổi bật trong “Hội nghị thượng đỉnh Web 2.0“. Nhưng đằng sau vẻ ngoài hào nhoáng của một sự kiện được chăm chút, được tiếp thị ồ ạt bởi các ông lớn trong ngành IT này là gì?

Photo of the hotel

Tổ chức trong một khách sạn sang trọng tại San Francisco (hình), với sự góp mặt của những nhân vật tai to mặt lớn từ những công ty mà chỉ nghe tới tên thôi bạn đã hình dung đến cả một thế lực: Google, Yahoo, Microsoft, AOL, Intel, Amazon… Và như để hòa hợp với những tên tuổi lớn này, cái tên “hội nghị web 2.0″ (web 2.0 conference) tầm thường năm xưa (2005) đã được đổi tên thành “hội nghị thượng định web 2.0″ (web 2.0 summit) cho năm nay. Quả thật, nếu tôi có cánh thì tôi sẵn sàng bay qua Hoa Kỳ để tham gia vào bữa đại tiệc web 2.0 này. Nhưng hãy khoan, nếu bạn là một khách mời thì ngoài việc kiểm tra lại hộ chiếu, bạn phải kiểm tra lần cuối xem bạn có đủ 3000 USD đề mua vé vào cửa không nhé…

Cuối cùng mọi bữa tiệc rồi cũng đến lúc tàn, khi đó mọi người đều cảm thấy thiếu một cái gì đó. Đâu rồi cái không khí hừng hực của năm 2005? Đâu rồi các nhóm phát triển web trình bày những ý tưởng “thay đổi thế giới ” của mình? Cuối cùng bạn thấy gì từ Google, Yahoo hay Microsoft ngoại trừ những cái họ đã làm hay sắp làm xong? Trong 13 dịch vụ web 2.0 mới (startups) được trình bày như chạy marathon thì cái nào là cái sẽ đem đến cuộc cách mạng trong web?

Không, “... bạn chẳng tìm thấy cái gì mới ở Web 2.0 Summit” là kết luận của GigaOM. Có lẽ, cái hội nghị này quá “đỉnh” cho những tư duy tầm thường. Nếu bạn đang định làm một YouTube thứ hai thì cũng chẳng ai quan tâm. Microsoft thì đang tự hỏi phải tích hợp cái web 2.0 vào bộ office thế nào mà khách hàng không kêu ca là quá mắc. Yahoo thì đang bận tìm xem hệ thống quảng cáo của mình co thể cạnh tranh với Google như thế nào. Còn Google đang chuẩn bị cho “the-next-big-thing” và sẽ chẳng hỏi han gì đến bạn trừ phi bạn có 50% thị phần tại Mỹ. Amazon đang hình dung ra mọt WebOS theo kiểu của mình, rồi tất cả sẽ dẫn đến các gian hàng của họ, happy shopping online!

13 dịch vụ web 2.0 mới có vẻ như những kẻ thừa thãi trong hội nghị thượng định này. Bạn sẽ nói gì trong 5 phút về dịch vụ của bạn? Nó cool hay nó hot? Nó có gì hay ho hay chỉ là một bản sao chép các ý tưởng? Quả là thật tầm thường khi đứng cạnh những gã khổng lồ về nguồn lực với thứ văn phong không thể lẫn được của các đại gia kiểu như “… dịch vụ của chúng tôi sẽ làm cho cuộc sống của 250 triệu người dùng nâng lên một tầm cao mới…

Web 2.0 đã chín muồi và các đại gia sẽ thu hoạch nó như một kịch bản cũ rích chăng? Tôi không tin điều này, nếu có một web 2.0 thì đó phải là web 2.0 cho mọi người. Nhìn lại một Blogger hay Wikipedia không hề có Ajax hay những “big thing” tương tự mà vẫn làm một cuộc cách mạng về web là vì sao? Đơn giản đó là một trang web mà ai cũng có thể tự làm được. Web 2.0 phải là như thế, bất kể về mặt kỹ thuật có thay đổi ra sao. Còn không chúng ta có thể chào mừng web 3.0 (xin xem thêm Welcome Web 3.0!) và bỏ lại web 2.0 cho các ông lớn kia “tự xử”.