App
stores and openness
By Rowan Wilson,
Published: 04 January 2011, Reviewed: 11 January 2013
Bài được đưa lên
Internet ngày: 11/01/2013
Lời
người dịch: Với sự bùng nổ các ứng dụng trong các
kho ứng dụng dành cho các thiết bị di động, vấn đề
sở hữu trí tuệ của phần mềm một lần nữa lại bị
thách thức khi mà một số thỏa thuận của kho với các
lập trình viên cản trở họ sử dụng lại các mã được
những người khác viết trước đó, rất thường thấy
trong thế giới của PMTDNM. “Chắc chắn chúng là thời
điểm thú vị cho sự tạo ra và phân phối phần mềm.
Trong 2 thập kỷ qua, phong trào PMTDNM đã làm việc để
san phẳng và dân chủ hóa mô hình phân phối phần mềm,
và trong 2 năm qua sức mạnh của kho ứng dụng đã nổi
lên để thách thức qui trình đó. Tương lai sẽ được
xác định bằng cách mà chúng ta chọn để viết, nhận
và chạy phần mềm của chúng ta”.
Khi các thiết bị di
động trở nên phức tạp hơn và phổ biến hơn, các cơ
sở giáo dục đang chịu sức ép tạo ra phần mềm và nội
dung web di động giúp được các sinh viên và các nhân
viên của họ có được thông tin và chức năng họ cần,
trong khi dịch chuyển. Tại OSS Watch, chúng tôi đã thấy
ngày càng nhiều yêu cầu thông tin về việc phát triển
các giải pháp phần mềm nguồn mở (PMNM) cho các nền
tảng di động. Tài liệu này giải thích một số ngữ
cảnh và vấn đề chung xung quanh sự phát triển nguồn mở
di động, và làm như vậy sẽ thảo luận được về một
số xu thế chung hơn trong cách mà phần mềm được phân
phối.
Di động đang tuần
hành
'Điện thoại thông
minh' và các thiết bị hỗ trợ số cá nhân (PDA) từng có
ở dạng này dạng kia đâu đó từ nhiều năm qua. Tuy
nhiên, hầu hết khi đó, chúng từng là sự gìn giữ rõ
ràng của những người có thú chơi riêng về công nghệ,
các chuyên gia CNTT và các lãnh đạo doanh nghiệp. Điều
này một phần vì công nghệ đó còn khá là đắt, nhưng
cũng là vì sự cuốn hút của chúng còn bị hạn chế vì
sự phức tạp trong vận hành được thừa nhận của
chúng. Từ lâu, sự chấp nhận dòng chính cũng từng bị
cản trở vì lợi ích bổ sung thêm khá nhỏ mà một người
sử dụng thông thường có thể thu được đối với một
điện thoại di động có giới hạn hơn hoặc thậm chí
đút được trong một cái ví cá nhân.
Tuy nhiên, trong những
năm gần đây, sự phổ biến bùng nổ của web và, đặc
biệt, các ứng dụng web xã hội như Facebook và Twitter, đã
làm gia tăng đột biến mong muốn của công chúng thông
thường đối với kết nối và các ứng dụng Internet. Sự
phát triển và đơn giản hóa trong thiết kế giao diện
cũng đã giúp các điện thoại thông minh - và gần đây
hơn là các máy tính bảng - đột phá vào dòng chính. Các
hệ điều hành cho điện thoại như Android của Google và
iOS của Apple đã làm cho những người tiêu dùng mong đợi
các giao diện cuốn hút mà đơn giản cho chức năng và dữ
liệu hữu dụng.
Cùng quãng thời gian
đó, các cơ sở giáo dục đã và đang làm việc cật lực
để làm cho các dữ liệu và các hệ thống của họ truy
cập được qua web vì sự thuận lợi của các nhân viên
và sinh viên của họ. Có ý nghĩa đối với các cơ sở
đó mở rộng nỗ lực này để có được số lượng
người sử dụng gia tăng, những người đang đến với
họ thông qua các thiết bị điện toán di động, nhưng
không may, còn có một số sự phức tạp.
Sự nổi lên của
các kho ứng dụng
Một phần của động
lực làm cho các điện thoại thông minh và máy tính bảng
dễ dàng hơn để sử dụng từng là một sự thống nhất
các phương tiện phân phối các ứng dụng. Khi iPhone được
tung ra vào năm 2007, nhà sản xuất của nó, Apple, ban đầu
đã từ chối ý tưởng rằng các lập trình viên của các
bên thứ 3 có thể được phép chạy các phần mềm của
riêng họ trên điện thoại. Không bộ công cụ phát triển
phần mềm nào đã được phân phối, và thay vào đó các
lập trình viên mà muốn có chức năng của họ trong thiết
bị đã được nói phải hiện thực hóa nó trong một ứng
dụng web - về cơ bản một website với các thành phần
tích cực được triển khai trong Javascript có khả năng
được xem thông qua trình duyệt web được xây dựng sẵn
trong điện thoại đó.
Trong vòng 18 tháng kể
từ khi tung ra điện thoại, Apple đã xem xét lại chiến
lược của hãng, đã phát hành một bộ công cụ phát
triển phần mềm cho các lập trình viên các bên thứ 3 và
đã tung ra một trung tâm phân phối thống nhất cho tất
cả các ứng dụng trên nền tảng của họ: cái gọi là
'App Store' ('Kho Ứng dụng') là cách duy nhất mà các lập
trình viên của các bên thứ 3 có thể có được phần
mềm của họ trong iPhone.
Khái niệm này từng
cực kỳ thành công cho Apple, với hơn 500.000 ứng dụng
sẵn sàng sau chỉ hơn 2 nưm. Nó đặc trưng rất nhiều
trong quảng cáo của Apple, và bây giờ đang được các
nhà sản xuất thiết bị khác nhân bản với hy vọng rằng
họ có thể có được sự thành công của mình. Trong thực
tế, bản thân mô hình đó không thực sự mới: các cổng
phần mềm cho điện thoại thông minh như Handango từng
thực hiện một chức năng tương tự nhiều năm qua, trong
khi các kho phần mềm thống nhất chạy cho các phát tán
Linux như Debian và Maemo (bây giờ là Tizen) đã có nhiều
đặc trưng của App Store của Apple. Tuy nhiên, những gì
những người đi trước đó đã không có là yếu tố
cưỡng bức. Chúng là các nguồn thuận tiện của phần
mềm, mà một người sử dụng có thể luôn tìm chấy
phần mềm của họ ở đâu đó khác, hoặc quả thực tự
họ tạo ra và cài đặt nó mà không cần tư vấn bất kỳ
nhà chức trách nào bên ngoài. Về cơ bản chỉ bằng cách
thức có được phần mềm của bên thứ 3 trong iPhone của
ạn, App Store đã đảm bảo rằng nó có thể giành được
một cái thân phần mềm rộng lớn và một số lượng
lớn sự chú ý của người sử dụng.
Trung gian và giám
tuyển
Tiếp cận này không
chỉ làm việc tốt cho Apple, mà cũng đã phục vụ cho
những người sử dụng của nó tốt theo một số cách
thức. Trong khi những người sử dụng điện thoại thông
minh trước đó phải chải web để tìm phần mềm chạy
được trong các thiết bị của họ - và gặp một số
rủi ro như đối với an ninh và chức năng của nó - thì
dịch vụ phần mềm giám tuyển của Apple làm cho qui trình
này dễ dàng hơn và ít rủi ro hơn. Tuy nhiên, đối với
những người bảo vệ PMTDNM, việc thu thập phương tiện
phân phối này nằm trong tay của một thực thể duy nhất
là đáng lo ngại, và đặt ra một mối đe dọa có thực
cho ý tưởng của việc chia sẻ tự do, không có trung gian
của phần mềm giữa những người sử dụng.
Để ép tuân thủ các
kiểm soát mà xác định mô hình này, Apple ép buộc cả
các lập trình viên và người sử dụng đầu cuối vào
trong những thỏa thuận hợp đồng với họ nếu họ muốn
sử dụng App Store. Những hợp đồng đó đặt ra trách
nhiệm pháp lý lên các lập trình viên và những người
sử dụng sẽ không làm những điều mà phá vỡ mô hình
đó. Ví dụ, người sử dụng không thể phân phối lại
phần mềm mà họ nhận - dù nó có lấy tiền hay không -
và các lập trình viên phải sử dụng App Store như là
điểm phân phối duy nhất của họ.
Những cố gắng sau
này để sử dụng mô hình này, giống như Android Market
của Google và Blackberry App World của RIM, đã thấy hổ
thẹn của việc tự họ tạo ra một điểm phân phối duy
nhất một cách bắt buộc bằng hợp đồng. Nhưng trong
làn sóng của hiện tượng thành công của App Store, còn
gây tranh cãi rằng họ đã có ít nhu cầu để làm thế.
Sau tất cả, các lập trình viên và những người sử
dụng di động đã nhận thực được rồi rằng mô hình
đối với sự phân phối phần mềm đã thay đổi, và
rằng một thành phần sống còn của một tỷ lệ giá trị
thiết bị di động 'thông minh' bây giờ là khác nhau và
tính sẵn sàng của các ứng dụng để chạy trên nó. Vì
thế thậm chí dù sự phân phối không có trung gian của
phần mềm của các bên thứ 3 là có khả năng trên những
nền tảng như Android và Blackberry OS, thì các lập trình
viên vẫn còn có động lực mạnh mẽ để sử dụng các
kênh trung gian phổ biến nhất để phân phối nếu họ
muốn sự chú ý cuaru đa số những người sử dụng. Vì
các mục đích của phần còn lại của tài liệu này, tất
cả các phương án của khái niệm App Store sẽ được
tham chiếu tới như là 'các kho ứng dụng'.
Nguồn mở và các
kho ứng dụng
Trong thực tế có
nhiều ví dụ về PMNM trong các kho ứng dụng khác nhau. Để
giải thích các vấn đề đang diễn ra chúng ta cần phân
biệt ở đây giữa mã mà hoàn toàn là tác phẩm của một
lập trình viên duy nhất và mã có chứa PMTDNM được
những người khác viết. Trong trường hợp đầu, thường
sẽ không có vấn đề gì về cấp phép với mã xuất
hiện cả thong qua một kho ứng dụng lẫn tách bạch như
là nguồn mở. Các giấy phép PMTDNM là không độc quyền,
vì thế miễn là các điều khoản của kho ứng dụng cũng
là không độc quyền, thì một lập trình viên có thể
đồng ý đối với các điều khoản và điều kiện của
kho ứng dụng đó và, cùng một lúc, làm cho mã của chúng
sẵn sàng thong qua kênh khác (như web) như là nguồn mở.
Tất nhiên, nếu cách duy nhất để có được mã thực
thi thực sự để chạy trong thiết bị của bạn là phải
có nó được nhà sản xuất thiết bị ký - như trường
hợp với các thiết bị iOS của Apple - thì sự phân phối
nguồn mở của bạn vẫn sẽ bị cản trở một chút
trong khả năng sử dụng lại của nó; các lập trình viên
khác mà muốn tiến hành những thay đổi và sử dụng mã
được sửa đổi trong thiết bị theo đó nó đã có ý
định cũng sẽ phải đồng ý với những điều khoản và
điều kiện của kho ứng dụng để thực sự phân phối
các phiên bản sửa đổi của họ. Chính sự sử dụng
lại mã nguồn mở của những người khác này sẽ là có
nhiều vấn đề hơn.
Trong trường hợp thứ
2, các lập trình viên uốn đưa mã PMTDNM thuộc về những
người khác (một hoạt động cốt lõi trong mô hình nguồn
mở) phải thực hiện nhiệm vụ khó khăn trong việc chắc
chắn rằng các trách nhiệm pháp lý mà họ mang theo trong
hợp đồng của kho ứng dụng hoàn toàn sẽ tương thích
với giấy phép PMTDNM, theo đó mã nguồn mở của các bên
thứ 3 mà họ muốn sử dụng được làm cho sẵn sàng.
Các lập trình viên nguồn mở làm việc theo mùa vụ lùi
bước ngã lòng trước triển vọng của việc kiểm toán
các bộ mã cho tính tương thích của các giấy phép nguồn
mở, nhưng ít nhất trong trường hợp đó các giấy phép
là có từ lâu và nổi tiếng, và những tương tác của
chúng sẽ được công khai hóa tốt.
Việc xác định liệu
một thỏa thuận của kho ứng dụng - mà sẽ thường sẽ
rất lâu và cũng có khả năng thay đổi thường xuyên -
là tương thích với giấy phép nguồn mở của các bên
thứ 3 của bạn thậm chí là một đề xuất còn ít hấp
dẫn hơn. Đã có những trường hợp trong đó các lập
trình viên nguồn mở đã từ chối đối với tác phẩm
của họ được phân phối thông qua một kho ứng dụng -
ví dụ, Quỹ Phần mềm Tự do đã có một cổng chuyển
iOS của trò chơi GNU Go phần mềm tự do của họ được
loại bỏ, khi họ cảm thấy rằng những điều khoản và
điều kiện của App Store của Apple là không tương thích
với sự lựa chọn của riêng họ để làm cho mã sẵn
sàng theo giấy phép GPLv3. Gần đây hơn, một lập trình
viên đã đóng góp cho phần mềm chơi đa phương tiện VLC
được cấp phép GPLv2 đã từ chối sự xuất hiện của
phần mềm đó trong App Store, và một tranh luận đã đảm
bảo giữa lập trình viên đó và quản lý dự án VLC,
người không tán thành về việc liệu các điều khoản
của App Store và GPLv2 có là tương thích với nhau hay
không. Thư viện cốt lõi của VLC kể từ đó đã được
cấp phép lại theo LGPL mà có thể cho phép các ứng dụng
di động theo các giấy phép tương thích của App Store sẽ
được viết. Tuy nhiên, trong khi một giấy phép của PMNM
có xu hướng không thay đổi, thì những điều khoản và
điều kiện của App Store thường xuyên được rà soát
lại, nên việc cấp phép lại mã của bạn để phù hợp
với chúng thể hiện thứ gì đó của việc dịch chuyển
mục tiêu.
Mã nguồn mà sẵn
sàng theo các giấy phép nguồn mở dễ dãi hơn, như BSD và
Apache, có khả năng ít có vấn đề hơn. Các lập trình
viên vẫn nên đọc các thỏa thuận cho lập trình viên
của kho ứng dụng một cách thận trọng để kiểm tra về
tính tương thích. Các lập trình viên trong các viện
trường giáo dục cũng sẽ cần phải nhìn vào cách mà họ
có thể đi vào dạng các thỏa thuận cần thiết cho sự
phân phối của kho ứng dụng. Nếu họ đồng ý với hợp
đồng một cách cá nhân, thì không có khả năng vai trò
của họ như một lập trình viên được thuê làm việc
sẽ được bao trùm, nên một đại diện viện trường sẽ
cần phải được thấy ai có thể đồng ý với các điều
khoản hợp đồng nhân danh viện trường. Các lập trình
viên mà là bên ký hợp đồng độc lập có thể có khả
năng đồng ý với các điều khoản đó một cách cá
nhân, dù họ sẽ vẫn thảo luận điều này với viện
trường của họ để đảm bảo rằng nó trao cho họ mức
kiểm soát mà họ muốn đối với ứng dụng và sự phân
phối nó.
Tương lai
Với sự ra đời của
iPad, mô hình kho ứng dụng đã chuyển sang môi trường
điện thoại di động và đã thực hiện được một bước
rõ ràng hướng tới cái gọi là vũ đài 'điện toán
chung'. Apple bây giờ cũng đã tung ra một kho ứng dụng
cho nền tảng điện toán chung của Macintosh. Microsoft đã
công bố một sáng kiến tương tự để bổ sung cho sự
sát nhập di động - máy để bàn của họ cho Windows 8.
Những quan ngại mà nhiều người trong thế giới nguồn
mở có về các kênh trung gian phân phối chỉ tăng cường
với từng sáng kiến mới. Vì thế liệu mô hình kho ứng
dụng có là mối đe dọa thực sự cho tính mở hay không?
Các tình huống tương
tự đã nổi lên trong quá khứ. Vào năm 2006, Module Nền
tảng Tin cậy – TPM (Trusted Platform Module) đã được công
bố như một thành phần có thể ngồi lên bo mạch chủ
của máy tính cá nhân PC và kiểm tra gốc gác lai lịch
phần mềm của bạn thông qua việc ký mã mật mã. Việc
sử dụng công nghệ này, một lớp mơi scuar phần mềm
'được kiểm soát an ninh' có thể được xác định bằng
máy tính của bạn và bằn ccs dịch vụ mạng ở xa và có
lẽ được trao các quyền ưu tiên về an ninh bổ sung đối
với mã mà lai lịch gốc gác của nó có thể không kiểm
tra được.
Ý định đằng sau sơ
đồ này từng là để đấu tranh chống các virus và các
sửa đổi không được phép đối với phần mềm máy
trạm mạng, nhưng một hệ quả bổ sung và có thể không
được mong đợi của kế hoạch đó là hệ sinh thái của
PMTDNM có thể bị cản trở đáng kể. Nó có thể phải
tồn tại trong chủng loại 'không tin cậy' trừ phi phương
tiện để kiểm toán và ký mã có thể được thấy. Thậm
chí nếu điều này có thể đạt được, thì các phiên
bản của mã được sửa đổi có thể cần phải được
nuôi ngược lại thông qua qui trình kiểm toán y hệt nếu
họ muốn hưởng thụ các quyền ưu tiên về an ninh được
cải thiện. Trong trường hợp đó, ý tưởng đó đã
không theo kịp và trong năm 2010 một khai thác đã được
thấy cho sự triển khai công nghệ đó, trả nó về gần
như vô dụng. Công nghệ 'Khởi động An ninh' (Secure Boot)
gần đây nhất, mà cũng ngăn chặn một máy tính khỏi
việc chạy mã không được ký, đang giành được xung
lượng. Đối với một thiết bị để nhận được chứng
chỉ Windows 8 thì nó phải triển khai công nghệ đó, dù
đối với các thiết bị có sử dụng các vi xử lý
truyền thống x86 thì nó có thể bị tắt.
Tuy nhiên, những gì
TPM không làm được trong năm 2006, thì các kho ứng dụng
làm được thành công ngày nay. Có lẽ vì chúng đưa ra
những ưu điểm thực sự trong các điều khoản của khả
năng khai thác phần mềm và sự truy cập, chúng này càng
trở thành mọt bước cần thiết trong chuỗi phân phối
phần mềm. Điều này sẽ không nghi ngờ gì tác động
tới PMTDNM. Nếu các lập trình viên phần mềm muốn sử
dụng PMTDNM được những người khác viết trong các
chương trình được các kho ứng dụng của họ phân phối,
thì họ phải định vị những điều không tương thích
tiềm tàng giữa các điều khoản của kho ứng dụng và
những thứ được gắn với mã mà họ muốn sử dụng
lại. Nếu họ bỏ qua kho ứng dụng, thì họ sẽ đánh
mất sự truy cập hoàn toàn tới các nền tảng điện
toán rõ ràng và có liên quan tới bản thân họ đối với
hậu phương không được công khai của những người
khác.
Tuy nhiên, không phải
mọi tin đều xấu. Như được nêu ở trên, trình duyệt
web đưa ra con đường khác cho sự xuất bản chức nawngn
trong một dải các thiết bị. Trong khi là đúng rằng -
vào lúc này - sự truy cập tới các chức năng tiên tiến
của thiết bị như các dữ liệu vị trí, máy chụp ảnh
và microphone từ các ứng dụng web bị hạn chế và khác
nhau từ thiết bị này tới thiết bị khác, nhiều sáng
kiến khác nhau để chỉnh tình huống này đang diễn ra.
Dự án WAC, ví dụ, đã và đang làm việc về các phương
pháp truy cập được tiêu chuẩn hóa đối với các tính
năng tiên tiến hơn của các thiết bị. Gần đây nhất,
dự án Webinos do EU tài trợ đã thiết lập để tạo ra
một nền tảng ứng dụng thống nhất xuyên khắp các
thiết bị dựa vào các tiêu chuẩn web. Cái gọi là
'widgets' - về cơ bản là các ứng dụng nhỏ bé được
chất đống để phân phối và thực thi thông qua một
trình duyệt web - có thể cung cấp một cách thức cho các
ứng dụng để đạt được xuyên khắp tất cả các nền
tảng mà không có sự trung gian của nhà sản xuất phần
cứng. Với sự giới thiệu của các hệ điều hành dựa
vào trình duyệt như Firefox OS và Chrome OS, chúng ta đã
thấy các công nghệ web đã đưa ra một chiếc ghế phía
trước trong các thiết bị, và được phân phối thong qua
các kho ứng dụng tương ứng của chúng.
Chắc
chắn chúng là thời điểm thú vị cho sự tạo ra và phân
phối phần mềm. Trong 2 thập kỷ qua, phong trào PMTDNM đã
làm việc để san phẳng và dân chủ hóa mô hình phân
phối phần mềm, và trong 2 năm qua sức mạnh của kho ứng
dụng đã nổi lên để thách thức qui trình đó. Tương
lai sẽ được xác định bằng cách mà chúng ta chọn để
viết, nhận và chạy phần mềm của chúng ta.
OSS Watch đã tổ chức
một hội
thảo về các ứng dụng di động xuyên nền tảng nguồn
mở, nơi mà các đoàn đại biểu từ giới công nghiệp
và hàn lâm đã thảo luận các vấn đề thích hợp đối
với sự phát triển nguồn mở trong các công nghệ và cơ
đội di động vì sự cộng tác xuyên khu vực trong môi
trường này.
As
mobile devices become more complex and more popular, educational
institutions are under increasing pressure to create software and
mobile web content that helps their students and staff get the
information and functionality they need, on the move. At OSS Watch,
we have seen more and more requests for information on developing
open source software solutions for mobile platforms. This document
explains some of the general context and issues around mobile open
source development, and in doing so discusses some more general
trends in how software is distributed.
‘Smartphones’
and personal digital assistants have been around in one form or
another for many years. For most of that time, however, they have
been the exclusive preserve of technology hobbyists, IT professionals
and business executives. This has partly been because the technology
has been relatively expensive, but also because their appeal has been
limited by their perceived complexity of operation. For a long time,
mainstream acceptance was also hampered by the relatively small
additional benefit that an average user would realise over a more
limited mobile phone or even a filofax.
In
recent years, however, the ballooning popularity of the web and, in
particular, social web applications like Facebook and Twitter, has
massively increased the general public’s appetite for mobile
internet connectivity and applications. Developments in interface
design and simplification have also helped smartphones – and more
recently tablet-based computers – break into the mainstream. Phone
operating systems like Google’s Android and Apple’s iOS have made
consumers expect simple compelling interfaces to useful functionality
and data.
Over
the same period, educational establishments have been working hard to
make their data and systems accessible over the web for the
convenience of their staff and students. It makes sense for these
establishments to extend this effort to accommodate the growing
number of users who are coming to them via mobile computing devices,
but there are, unfortunately, some complications.
Part
of the drive to make smartphones and tablets easier to use was a
unification of the means of distributing applications. When the
iPhone launched in early 2007, its manufacturer, Apple, initially
rejected the idea that third-party software developers would be
allowed to run their own software on the phone. No software
development kit was distributed, and instead developers who wanted to
get their functionality onto the device were told to embody it in a
web application – essentially a website with active elements
implemented in Javascript that would be viewed via the phone’s
built-in web browser.
Within
18 months of the phone’s launch, Apple had revised its strategy,
released a software development kit to third-party developers and
launched a unified distribution centre for all applications on their
platform: the so-called ‘App Store’. With a small exception (a
separate scheme for businesses that wished to distribute their own
private applications to a private group of handsets), the App Store
was the only way third-party developers could get their software onto
the iPhone.
This
concept has been extremely successful for Apple, with over 500,000
applications available after just over two years. It features very
heavily in Apple’s advertising, and is now being replicated by
other device manufacturers hopeful that they can match its success.
In fact, the model itself was not really novel: smartphone software
portals like Handango had been fulfilling a similar function for many
years, while the unified software repositories run for Linux
distributions like Debian and Maemo (now Tizen) had many of the
characteristics of Apple’s App Store. What these forerunners
did not have, however, was the
element of compulsion. They were convenient sources of software, but
a user could always seek their software elsewhere, or indeed create
and install it themselves without consulting any external authority.
By being essentially the only way to get third-party software onto
your iPhone, the App Store ensured that it would gain a large body of
software and a large amount of user attention.
This
approach has not only worked well for Apple, but has also served its
users well in some ways. While earlier smartphone users would have to
comb the web for software that ran on their devices – and take some
risks as to its security and functionality – Apple’s curated
software service makes the process easier and less risky. However,
for proponents of free and open source software, this gathering of
the means of distribution into the hands of a single entity is
troubling, and poses a genuine threat to the ideal of a free,
unmediated sharing of software between users.
In
order to enforce the controls that define this model, Apple compels
both developers and end users to enter into contractual arrangements
with them if they wish to make use of the App Store. These contracts
place responsibilities on the developers and users to not do things
that break the model. For example, users cannot redistribute the
software they receive – whether it costs money or not – and
developers must use the App Store as their only point of
distribution.
Later
attempts to use this model, like Google’s Android Market and RIM’s
Blackberry App World, have fought shy of making themselves a
contractually mandated single point of distribution. But in the wake
of the phenomenal success of the App Store it is arguable that they
had little need to do so. After all, mobile developers and users had
already recognised that the model for software distribution was
changing, and that a crucial component of a ‘smart’ mobile
device’s value proposition is now the variety and availability of
applications to run on it. So even though unmediated distribution of
third-party software is possible on platforms such as Android and
Blackberry OS, developers are still strongly motivated to use the
most popular mediated channels for distribution if they want the
attention of the majority of users. For the purposes of the rest of
this document, all variants of the App Store concept will be referred
to as ‘app stores’.
There
are in fact many instances of open source software on the various app
stores. In order to explain the issues that come into play we need to
make a distinction here between code that is entirely the work of a
single developer and code that contains free or open source software
written by others. In the former case, there should generally be no
licensing problem with the code appearing both via an app store and
separately as open source. Free and open source licences are
non-exclusive, so as long as the app store terms are also
non-exclusive, a developer can agree to an app store’s terms and
conditions and, at the same time, make their code available via
another channel (such as the web) as open source. Of course, if the
only way to get actual executable code to run on your device is to
have it signed by the device manufacturer – as is the case with
Apple’s iOS devices – then your open source distribution is still
going to be somewhat hampered in its reusability; other developers
who want to make changes and use the modified code on the device for
which it was intended will also have to agree to the app store’s
terms and conditions in order to actually distribute their modified
versions. It is this reuse of others’ open source code that is more
problematic.
In
this second case, developers wanting to include free and open source
code belonging to others (a core activity in the open source model)
must undertake the difficult task of making sure that the
responsibilities they take on in the app store’s contract are
entirely compatible with the free or open source licence under which
the third-party open source code they want to use is made available.
Seasoned open source developers quail at the prospect of auditing
code collections for open source licence compatibility, but at least
in that case the licences are long standing and well known, and their
interactions are well publicised.
Determining
if an app store’s agreement – which will generally be a lot
longer and is also likely to change on a regular basis – is
compatible with your third-party open source licence is an even less
attractive proposition. There have been cases in which open source
developers have objected to their work being distributed via an app
store – for example, the Free Software Foundation had a iOS port of
their free software game GNU Go removed, as they felt that the Apple
App Store’s terms and conditions were incompatible with their own
choice to make the code available under the GPL v3. More recently, a
developer who has contributed to the GPL v2-licensed media player VLC
has objected to its appearance on the App Store, and an argument has
ensued between the developer and the VLC project’s management, who
differ on whether the App Store’s terms and the GPL v2 are
compatible. VLC’s core library has since been relicenced under LGPL
which may allow mobile apps under App Store compatible licences to be
written. However, while an open source software licence tends to not
change, App Store terms and conditions are constantly being revised,
so relicencing you code to fit within them represents something of a
moving target.
Code
that is available under the more permissive open source licences,
such as BSD and Apache, is likely to be less problematic. Developers
should still read app store developer agreements carefully to check
for compatibility. Developers within educational institutions will
also need to look into how they can enter into the kind of agreements
necessary for app store distribution. If they agree to the contract
personally, it is unlikely that their role as an employed developer
will be covered, so an institutional representative will need to be
found who can agree to contractual terms on behalf of the
institution. Developers who are independent contractors are likely to
be able to agree to the terms personally, although they should still
discuss this with their institution to ensure that it gives them the
level of control that they want over the application and its
distribution.
With
the launch of the iPad, the app store model moved out of the mobile
phone sphere and took a definite step towards the so-called ‘general
computing’ arena. Apple have now also launched an app store for
their Macintosh general computing platform. Microsoft have announced
a similar initiative to complement their mobile-desktop fusion
Windows 8. The concerns that many in the open source world have over
these mediated channels of distribution only intensify with each new
initiative. So is the app store model a real threat to openness?
Similar
situations have arisen in the past. In 2006, the TPM (Trusted
Platform Module) was announced as a component that would sit on your
PC’s motherboard and check the provenance of your software via
cryptographic code-signing. Using this technology, a new class of
‘security audited’ software could be identified by your computer
and by remote network services and perhaps granted additional
security privileges over code whose provenance could not be checked.
The
intention behind this scheme was to combat viruses and unauthorised
modifications to network client software, but an additional and
perhaps unintended consequence of the plan was that the ecosystem of
free and open source software would be considerably hampered. It
would have to exist in the ‘untrusted’ category unless means to
audit and sign the code could be found. Even if this could be
achieved, modified versions of the code would need to feed back
through the same auditing process if they wanted to enjoy enhanced
security privileges. In the event, the idea did not catch on and in
2010 an exploit was found for the implementation of the technology,
rendering it near useless. More recently ‘Secure Boot’
technology, which also prevents a computer from running unsigned
code, is gaining momentum. For a device to receive Windows 8
certification it must implement the technology, although for devices
using traditional x86-based processors it can be turned off.
However,
what TPM failed to do in 2006, app stores are successfully doing
today. Perhaps because they offer real advantages in terms of
software discoverability and access, they are increasingly becoming a
necessary step in the software distribution chain. This will
undoubtedly affect free and open source software. If software
developers want to use free and open source software written by
others in their app-store distributed programs, they must navigate
the potential incompatibilities between app store terms and those
attached to the code they wish to reuse. If they ignore the app
store, they will lose access entirely to certain computing platforms
and relegate themselves to the unpublicised hinterland of others.
It
is not all bad news, however. As mentioned above, the web browser
offers another route to publication of functionality on a range of
devices. While it is true that – at the moment – access to
advanced device functions like location data, camera and microphone
from web applications is limited and varies from device to device,
various initiatives to rectify this situation are underway. The WAC
project, for example, has been working on standardised methods of
access to more advanced device features. More recently, the EU-funded
Webinos project has set out to create a unified application platform
across devices based on web standards. So-called ‘widgets’ –
essentially mini-applications bundled for distribution and execution
via a web browser – may provide a way for applications to reach
across all platforms without hardware-manufacturer mediation. With
the introduction of browser-based operating systems such as Firefox
OS and Chrome OS, we’ve seen web technologies given a front seat on
devices, and distributed through their respective app stores.
Certainly
these are interesting times for software creation and distribution.
In the last two decades, the free and open source movement has worked
to flatten and democratise the software distribution model, and in
the last two years the power of the app store has risen to challenge
that process. The future will be determined by how we choose to
write, receive and run our software.
OSS
Watch has organized a workshop
on open source cross-platform mobile apps, where delegates from
industry and academia discussed issues relevant to open source
development in mobile technologies and opportunities for cross-sector
collaboration in this space.
Dịch: Lê Trung Nghĩa
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.