Thứ Năm, 15 tháng 4, 2010

Microsoft đưa ra sửa đổi cần thiết nhiều cho phát triển OSS của Windows

Microsoft offers much-needed fix for Windows OSS development

By Ryan Paul | Last updated 5 days ago

Theo: http://arstechnica.com/open-source/news/2010/04/microsoft-offers-much-needed-fix-for-windows-oss-development.ars

Bài được đưa lên Internet ngày: 10/04/2010

Lời người dịch: Một lập trình viên của Microsoft đang xây dựng một cộng đồng gọi là CoApp nhằm đưa các ứng dụng phần mềm của kho GNU/Linux sang Windows theo những cách thức của thế giới phần mềm tự do nguồn mở vẫn làm với các ứng dụng của thế giới này một cách thoải mái và dễ dàng. Hy vọng thế giới của phần mềm tự do nguồn mở sẽ dạy được cho người của Microsoft được nhiều điều. Nhưng dù thế nào chăng nữa, về lâu dài, khó mà có thể đồng ý được với phương châm: “chỉ cần chạy những phần mềm tự do nguồn mở trên Windows là được”, vì nó cũng chẳng khác gì phương châm: “Chạy phần mềm mở gì cũng được nhưng phải trong phần mềm đóng” hay “Tự do làm gì cũng được nhưng phải trong nhà tù”.

Mặc dù Microsoft đang bắt đầu nhận thức được rằng hệ sinh thái giàu có của phần mềm nguồn mở có thể mang lại nhiều giá trị cho những người sử dụng Windows, thì hầu hết các dự án phần mềm nguồn mở phổ biến được phát triển một cách rộng rãi trên các nền tảng khác, mà có nghĩa là chúng sẽ không luôn dễ dàng để triển khai trên Windows. Một kho phần mềm cho máy chủ nguồn mở tương đối phức tạp có thể được triển khai trên Linux với một vài cái nháy, nhưng nó có thể mất hàng giờ để có được các phần mềm tương tự được cài đặt và thiết lập cấu hình một cách đúng đắn trên Windows.

Lập trình viên Garrett Serack của Microsoft đã xác định một giải pháp lôi cuốn cho vấn đề này. Anh ta đang tung ra một dự án mới để xây dựng một hệ thống quản trị gói cho Windows với mục tiêu đơn giản hóa một cách căn bản tận gốc sự cài đặt của các phần mềm nguồn mở phổ biến trên nền tảng Windows. Anh ta gọi nó là Nền tảng Xuất bản Ứng dụng Nguồn Mở Chung (CoApp).

Giống nhiều các hệ thống quản lý gói mà là một phần chuẩn của các phát tán Linux, dự án CoApp sẽ cung cấp một nền tảng phân phối cho các thư viện và ứng dụng phần mềm nguồn mở được đóng gói, với sự hỗ trợ cho giải pháp phụ thuộc và cập nhật tự động. Nó có thể là một công cụ mạnh cho những quản trị viên hệ thống mà họ muốn một kho WAMP hoặc các lập trình viên mà họ muốn chuyển các ứng dụng của Linux sang Windows.

Serack muốn sử dụng định dạng MSI của Microsoft cho các gói và mong muốn lợi dụng WinSxS để phân phối song song các tệp nhị phân sao cho những người sử dụng sẽ có được sự truy cập tới nhiều xây dựng của cùng các thư viện được tạo ra bởi nhiều trình biên dịch khác nhau. Dự án này cũng sẽ tìm kiếm để thiết lập một số chuẩn cơ bản cho hình thức trình bày hệ thống tệp sao cho các tệp được đặt trong những nơi ổn định.

Anh ta đang điều phối dự án này với sự ủng hộ của Microsoft, nhưng nỗ lực phát triển thực sự sẽ là cộng đồng dẫn dắt - một tiếp cận mà sẽ hy vọng cho phép CoApp tiến hóa theo một cách mà phục vụ được tốt nhất những người sử dụng của nó hơn là đang được chỉ đạo bởi Microsoft.

“Đám người ở đây tại Microsoft đã nhận thức được giá trị trong dự án này - và đã đưa ra một cách tử tế để cho tôi làm việc về nó toàn thời gian. Tôi đang quản lý dự án này; Microsoft đang hỗ trợ những nỗ lực của tôi trong việc này 100%”, anh ta đã viết trong một bài trên blog về dự án này hôm thứ tư. “Thiết kế là công việc hoàn toàn của bản thân tôi và cộng đồng CoApp, tôi không phải xem lại nó với bất kỳ ai trong hãng”.

Although Microsoft is beginning to acknowledge that the rich ecosystem of open source software can bring a lot of value to Windows users, the most popular open source software projects are largely developed on other platforms, which means that they aren't always easy to deploy on Windows. A relatively complex open source server stack can be rolled out on Linux with a few clicks, but it might take hours to get the same software installed and properly configured on Windows.

Microsoft developer Garrett Serack has identified a compelling solution to this problem. He is launching a new project to build a package management system for Windows with the aim of radically simplifying installation of popular open source software on Microsoft's platform. He calls it the Common Open Source Application Publishing Platform (CoApp).

Much like the package management systems that are a standard part of popular Linux distributions, the CoApp project will provide a delivery platform for packaged open source software libraries and applications, with support for dependency resolution and automatic updates. It could be a powerful tool for system administrators who want a WAMP stack or developers who want to port Linux applications to Windows.

Serack wants to use Microsoft's MSI format for the packages and intends to take advantage of WinSxS in order to deliver parallel binaries so that users will have access to multiple builds of the same library generated by different compilers. The project will also seek to establish some basic standards for filesystem layout so that files are put in consistent places.

He is coordinating the project with Microsoft's blessing, but the actual development effort will be community-driven—an approach that will hopefully enable CoApp to evolve in a way that best serves its users rather than being directed by Microsoft.

"The folks here at Microsoft have recognized the value in this project—and have kindly offered to let me work on it full-time. I'm running the project; Microsoft is supporting my efforts in this 100%," he wrote in a blog entry about the project on Wednesday. "The design is entirely the work of myself and the CoApp community, I don't have to vet it with anyone inside the company."

Làm cho nguồn mở phát triển trên Windows ít nhảm nhí

Phải chuyển một vài ứng dụng Linux của riêng tôi sang Windows, tôi biết từ kinh nghiệm cá nhân sự khó khăn đến phát cuồng như thế nào để có thể được thiết lập một môi trường cho việc phát triển phần mềm nguồn mở trên hệ điều hành của Microsoft. Đối với ứng dụng Qt mới nhất mà tôi đã chuyển, qui trình của việc có được tất cả các phụ thuộc được cài đặt đã mất hàng giờ. Tôi đã cài Cmake, chỉ tìm đúng phiên bản của Automoc, và biên dịch OpenSSL từ nguồn.

Windows VM hiện hành của tôi có một nửa là hàng tá các hệ thống khác nhau được xây dựng và 3 tập hợp riêng rẽ của các công cụ kiểm soát phiên bản, tất cả chúng phải được cài đặt một cách riêng rẽ. Tôi cũng có 2 cài đặt hoàn toàn tách biệt nhau của MinGW và một cài đặt Cygwin nặng hơn. Tôi cần tất cả những thứ tào lao này để chuyển các phần mềm của tôi sang Windows, nhưng đây là một cơn ác mộng để duy trì. Tôi phải viết tài liệu một cách tỉ mỉ mỗi bước của qui trình cài đặt nếu tôi muốn khi nào đó có khả năng làm một lần nữa trên một cài đặt Windows khác.

Những thứ đau đầu này đủ để làm nản lòng bất kỳ lập trình viên phần mềm nguồn mở nào mà khác đi muốn đưa ra những phiên bản Windows của các ứng dụng của họ. Việc bỏ ra một ít giờ đồng hồ phát triển trên Windows thường phục vụ như một sự nhớ lại đau đớn về việc tôi phụ thuộc vào sức mạnh của con bò siêu việt của phát tán của tôi. Điều đó giải thích vì sao tôi bị thuyết phục rằng CoApp là một ý tưởng rất tốt.

Making open source development on Windows suck less

Having ported several of my own Linux applications to Windows, I know from personal experience how insanely difficult it can be to set up a proper environment for developing open source software on Microsoft's operating system. For the last Qt application that I ported, the process of getting all of the dependencies installed took hours. I had to install CMake, find just the right version of Automoc, and compile OpenSSL from source.

My current Windows VM has a half a dozen different build systems and three separate sets of version control tools, all of which had to be installed individually. I also have two completely separate installations of MinGW and a rather heavy Cygwin setup. I need all of this crap in order to port my software to Windows, but it's a nightmare to maintain. I have to meticulously document every step of the setup process if I ever want to be able to do it again on a different Windows installation.

These headaches are enough to deter many open source software developers who would otherwise be releasing Windows versions of their applications. Spending a few hours developing on Windows often serves as a painful reminder of how much I depend on my distro's super cow powers. That is why I'm convinced that CoApp is a very good idea.

Cygwin là một hệ thống quản lý gói còn gây tranh cãi bởi chính nó, nhưng nó có ý định sẽ là thứ gì đó cô lập và không thật là tự nhiên bẩm sinh. Serack tin tưởng rằng CoApp đưa ra một cơ hội để thực hiện nó theo đúng cách và khép lại khoảng trống mà các thành phần phần mềm nguồn mở được chuyển độc lập từ phần còn lại của hệ sinh thái Windows. Nếu điều này được thực hiện đúng đắn, thì điều đó có thể sẽ là rất đáng kể.

Mặc dù những người nhiệt thành của Linxu có xu hướng khinh thị Windows, thì việc chuyển các ứng dụng Linux sang hệ điều hành Windows có thể mở ra nhiều cơ hội. Một sự chuyển của Windows có thẻ mở ra ứng dụng của bạn tới toàn bộ một khán phòng mới, làm cho có khả năng lôi cuốn những người đóng góp mới. Chúng tôi đã thấy một số các dự án phần mềm nguồn mở nổi bật có lợi theo cách đó từ tính có thể tương thích được của Windows trong quá khứ.

Một hiệu ứng phụ tích cực của hiện tượng đó là việc nó giới thiệu cho những lập trình viên ứng dụng của Windows tới các khung công việc và công nghệ của nguồn mở. Sự áp dụng rộng rãi hơn của các phần mềm thân thiện với Linux xuyên nền tảng và các bộ công cụ trên Windows rõ ràng có thể giúp khuyến khích tính sẵn sàng của các phần mềm trên Linux.

Mặc dù tôi thực sự ấn tượng với tầm nhìn của Serack, tôi hơi nghi ngờ rằng một kho phần mềm với độ lớn và tính phức tạp như vậy có thể được thỏa mãn cho một mức độ nào đó rằng nó có thể thực sự phân phối trong tiềm năng của nó. Một sự quyết tâm như vậy sẽ đòi hỏi sức người đáng kể. Những độc giả mà muốn tham gia vào dự án này hoặc tìm hiểu nhiều hơn có thể kiểm tra trang CoApp trên Launchpad.

Cygwin arguably constitutes a package management system by itself, but it tends to be somewhat insular and isn't very native. Serack believes that CoApp offers an opportunity to do it the right way and close the gaps that isolate ported open source software components from the rest of the Windows ecosystem. If it's done properly, that could be very significant.

Although Linux enthusiasts tend to disdain Windows, porting Linux applications to Microsoft's operating system can open up a lot of opportunities. A Windows port can expose your application to a whole new audience, making it possible to attract new contributors. We have seen a number of prominent open source software projects benefit in that manner from Windows compatibility in the past.

A positive side effect of that phenomenon is that it introduces Windows application developers to open source frameworks and technologies. Broader adoption of cross-platform Linux-friendly software and toolkits on Windows would obviously help boost the availability of software for Linux.

Although I'm really impressed with Serack's vision, I'm a bit skeptical that a task of such magnitude and complexity can be fulfilled to an extent that would truly deliver on its potential. Such an undertaking will require considerable manpower. Ars readers who want to participate in the project or learn more can check out the CoApp page on Launchpad.

Dịch tài liệu: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.