Creating
a new Google Code project
By Stuart Yeates and Ross
Gardler, Published: 06 March 2007, Reviewed: 11 February 2013
Bài được đưa lên
Internet ngày: 11/02/2013
Lời
người dịch: Chúng ta đã làm quen với cách đưa một dự
án phần mềm tự do nguồn mở (PMTDNM) lên SourceForge.net,
một nơi đặt chỗ với vô số các công cụ giúp triển
khai dự án PMTDNM. Bài này cho chúng ta một cách khác, đưa
lên Google Code với tất cả những thuận lợi và các
rào cản của nó. Ngoài 2 nơi đặt chỗ này ra, còn
nhiều nơi đặt chỗ khác như GitHub, Savannah, GNA,
BerliOS, TuxFamily, Debian Alioth. Mỗi nhà cung cấp đó đưa
ra một tập hợp các dịch vụ và tập hợp các điều
kiện khác nhau để sử dụng. Xem thêm: Tạo
một dự án trên SourceForge.
Google Code là một
website đưa ra các dịch vụ đặt chỗ tự do cho các dự
án nguồn mở. Nó cung cấp các cơ sở cốt lõi theo yêu
cầu của một dự án nguồn mở do cộng đồng dẫn dắt.
Tài liệu này là giới thiệu cơ bản để làm quen với
việc đặt chỗ dự án trên Google Code.
Tổng quan về dịch
vụ đặt chỗ
Các dịch vụ được
Google Code cung cấp gồm:
Xác
thực:
Bất kỳ ai với một
tài khoản hợp lệ google.com có thể sủ dụng tên và mật
khẩu thông thường của họ trên Google để đăng nhập
vào Google Code và truy cập tới chức năng đó. Điều này
có nghĩa là nếu bạn sử dụng bất kỳ dịch vụ web nào
của Google như GMail hoặc Calendar, thì bạn đã có rồi
một tài khoản của Google Code. Bạn có thể kiểm soát
truy cập tới các tài nguyên dự án của bạn bằng việc
bổ sung thêm các thành viên dự án của bạn bằng việc
sử dụng tài khoản google.com của họ.
Kiểm soát phiên
bản:
Các hệ thống kiểm
soát phiên bản được sử dụng để theo dõi các thay đổi
đối với các tài nguyên của dự án như tài liệu và mã
nguồn. Subversion (thường viết tắt là SVN), Git và
Mercurial là sẵn sàng để sử dụng trong các dự án. Hệ
thống kiểm soát phiên bản là chìa khóa để quản lý
những thay đổi trong các nguồn của dự án qua thời
gian, theo dõi các đóng gopsp với lưu ý về quản lý quyền
sở hữu trí tuệ IPR và sự cộng tác giữa các lập
trình viên.
Truyền thông:
Các danh sách thư và
các diễn đàn được sử dụng cho giao tiếp của dự án.
Trong khi Google Code không bao gồm những thứ đó, thì chúng
có thể được kết nối tới từ dự án. Google Groups,
một thành viên khác của họ Google, sử dụng hệ thống
xác thực y hệt mà Google Code sử dụng. Điều tuyệt vời
về Google Groups là nó có thể được sử dụng như một
danh sách thư truyền thống, một diễn đàn trực tuyến
hoặc một RSS feed; sự lựa chọn là tùy vào người sử
dụng. Tính mềm dẻo làm tối đa hóa các lựa chọn mà
bất kỳ người sử dụng nào cũng sẽ đăng ký vào danh
sách.
wiki:
Một
wiki được cung cấp để làm tài liệu dự án được đơn
giản. wiki được cung cấp là đầy đủ chức năng và
mềm dẻo, nhưng không cung cấp chức năng rất phức tạp.
Nó không thay thế được cho một website đầy đủ thông
tin và được quản lý tốt, nhưng nó là tài nguyên tuyệt
vời cho lập trình viên ghi chép và là một website cơ bản
của dự án. Một trong những ưu thế lớn nhất của wiki
của Google Code đối với các giải pháp đặt chỗ dự án
khác là bạn có thể soạn sửa nội dung thông qua một
trình soạn thảo wiki hoặc thông qua kho của dự án dựa
trên web. Điều này làm cho sự truy cập tới và sử dụng
các tệp wiki mềm dẻo hơn nhiều.
Theo dõi các vấn
đề:
Một
trình theo dõi các vấn đề được cung cấp cho phép những
người sử dụng báo cáo 'các vấn đề', bất kể chúng
là các báo cáo lổi, các yêu cầu tính năng hay các vấn
đề cài đặt.
Các bản tải về:
Phần
các bản tải về là một khu vực đơn giản cho việc lưu
trữ các tệp để tải về. Chúng thường sẽ là các
phát hành phần mềm và các gói tài liệu.
Các feed:
RSS
và Atom feed toàn diện được cung cấp để tạo thuận
lợi cho việc giám sát các dịch vụ và các gadgets có thể
được sử dụng trong các trang wiki để giám sát các feed
bên ngoài.
Các chức năng quản
trị nhóm:
Chúng
bao gồm sự quản lý các thành viên dự án và cấu hình
của các công cụ có sẵn. Google cũng cung cấp một số
dịch vụ khác có thể là hữu dụng cho các dự án được
đặt chỗ trên Google Code, hoặc thậm chí ở bất kỳ đâu
khác. Không có yêu cầu phải sử dụng chúng, nhưng nó có
ý nghĩa nếu bạn cần các tính năng đó, vì các thành
viên dự án của bạn được ký rồi trong tài khoản
Google của họ và vì thế sẽ hưởng lợi từ hệ thống
đăng nhập duy nhất của Google.
Các
dịch vụ hữu dụng khác có thể được kết nối tới
từ site dự án của bạn gồm:
Lập lịch:
Hữu
dụng cho việc giám sát các phát hành của dự án, các
cuộc gặp gỡ và điều hành các vấn đề như biểu
quyết.
Các tài liệu và
bảng tính:
Chia sẻ các tài liệu
giữa các thành viên dự án cho sự phát triển cộng tác
thực sự là dễ dàng bằng việc sử dụng các ứng dụng
văn bản và bảng tính.
Phân tích:
Google Analytics có thể
được kích hoạt cho dự ansn để giám sát giao thông web.
Tạo dự án
Việc tạo một dự
án trên Google Code được thực hiện bằng việc sử dụng
mẫu trực
tuyến.
Đáng để lưu ý rằng
tên dự án của bạn sẽ hành thành một phần của URL
cho site phát triển dự án của bạn, nên hãy chắc chắn
rằng tên mà bạn đưa vào là tên bạn muốn.
Google cũng giới hạn
số các lựa chọn giấy phép sẵn sàng cho bạn. Trong phần
Các câu hỏi đáp thường gặp (FAQ) của họ, họ giải
thích quyết định này như sau:
'Cộng đồng nguồn
mở từng bị ngập lụt với nhiều giấy phép gần y hệt
nhau. Chúng tôi muốn thấy các dự án được tiêu chuẩn
hóa trong các giấy phép phổ biến nhất, được kiểm thử
qua thời gian. Vì lý do đó, chúng tôi khuyến khích các dự
án mà chúng tôi đặt chỗ sử dụng một trong các giấy
phép được liệt kê trong trang tạo dự án của chúng
tôi. Các giấy phép được chào đưa ra sự đa dạng đủ
để đáp ứng được các nhu cầu của lập trình viên,
trong khi giảm thiểu sự nở rộ các giấy phép'.
Các giấy phép được
Google lựa chọn phần lớn phù hợp với danh sách các
giấy phép của Sáng kiến Nguồn Mở (OSI) mà họ tin tưởng
sẽ 'được sử dụng một cách phổ biến và rộng rãi
với các cộng đồng mạnh'. Cũng có cơ sở lựa chọn để
áp dụng một giấy phép riêng rẽ, Creative Commons để bao
trùm các tài sản không phải mã trong dự án.
Một khi bạn đã đề
nghị các chi tiết, thì một trang dự án mới sẽ xuất
hiện trong Google Code ở địa chỉ: http://code.google.com/p/
Ở giai đoạn này,
đáng giá đặt ra thêm một chút suy nghĩ trong tóm tắt và
mô tả, vì chúng là những điều đầu tiên mà những
người sử dụng tiềm năng thấy khi đánh giá một dự
án. Mô tả đó nên tỉ mỉ về các mục tiêu của phần
mềm và nên bao gồm các thông tin mức cao được viết
theo ngôn ngữ phi kỹ thuật sao cho những người mới tới
có thể dễ dàng thấy liệu dự án này có khả năng là
cuốn hút hay không. Nó cũng nên bao gồm một tổng quan kỹ
thuật ngắn gọn, để cho phép những người chuyên nghiệp
trong lĩnh vực đó so sánh với vài dự án để thấy dự
án nào là phù hợp nhất đối với họ. Cuối cùng, nó
nên bao gồm một đánh giá vô tư không thiên vị về tình
trạng của dự án. Nếu dự án là đang ở trên bàn thiết
kế chứ không phải trong pha phát triển, thì những người
sử dụng sẽ đánh giá khi biết rằng điều đó sẽ ở
phía trước, trong khi các lập trình iên sẽ nhận thức
được họ sẽ tham gia vào từ đầu và vì thế có thể
có khả năng gây ảnh hưởng tới các quyết định thiết
kế quan trọng.
Tạo các danh
sách/nhóm thư
Các danh sách thư là
cơ chế giao tiếp quan trọng nhất cho các dự án do cộng
đồng dẫn dắt. Bổ sung thêm vào một hoặc nhiều danh
sách thư đang có sẵn, Google Code có thể được sử dụng
với Google Groups, một họ các ứng dụng khác của Google.
Một trong những tính năng phổ biến nhất của Google
Groups là những người đăng ký thuê bao (subscribers) có
thể sử dụng nó hoặc như một danh sách thư hoặc như
một diễn đàn web. Điều này là quan trọng, khi nó cho
phép những người đóng góp tham gia vào theo một cách
thức mà thuận tiện nhất đối với họ. Tính năng quan
trọng khác của Google Groups là nó có thể được sử
dụng để cung cấp một giao diện cho một danh sách thư
đang tồn tại, nên nếu bạn có một danh sách thư rồi
đang hoạt động, thì Google Groups có thể cung cấp một
giao diện thuận tiện cho nó, cùng với các khả năng tìm
kiếm tuyệt vời của Google.
Nếu bạn có một
nhóm hoặc danh sách thư rồi cho dự án của bạn, thì hay
vào địa chỉ của một trang web mô tả danh sách đó
trong trường 'các nhóm thảo luận' (discussion groups). Điều
này sẽ đảm bảo rằng thông tin các danh sách thư được
triển khai trong trang Google Code của dự án. Bạn có thể
vào nhiều hơn một danh sách thư trong mẫu của admin (quản
trị hệ thống); mỗi trong số các mẫu đó sẽ xuất
hiện trên trang dự án. Lưu ý rằng trang mà bạn vào phải
tồn tại rồi; việc vào thông tin trong trường này không
tạo ra danh sách cho bạn.
Bạn cũng nên xem xét
đưa ra một địa chỉ danh sách thư để nhận các thông
báo hoạt động từ Google Code. Trong trường hợp này bạn
vào địa chỉ thư điện tử hơn là một địa chỉ
website. Điều này có nghĩa là các bên có quan tâm được
thông báo bằng thư điện tử đối với các đề xuất
(commit) mới và hoạt động của trình theo dõi các vấn
đề. Bất kể bạn gửi các thông báo đó tới cùng danh
sách như được mong đợi cho thảo luận hay liệu bạn có
thiết lập được các danh sách lựa chọn thay thế thực
sự phụ thuộc vào sự điều hành dự án của bạn.
Trong các dự án được dẫn dắt bằng sự đồng thuận,
như những dự án trong Quỹ Phần mềm Apache, những thông
báo sẽ thường đi tới danh sách thư mở của các lập
trình viên, trong khi trong các cộng đồng đóng hơn thì
chúng sẽ thường được gửi tới một danh sách đóng.
Google Code cho phép bạn sử dụng các dánh cách khác nhau
cho từng dạng thông báo. Lưu ý rằng đối với những
thông báo thư để làm việc với danh sách thư của bạn
phải chấp nhận các bài viết từ @googlecode.com.
Trình theo dõi các
vấn đề
Trình theo dõi các vấn
đề của Google Code cho phép người sử dụng báo cáo 'các
vấn đề', bất kể chúng là các báo cáo lỗi, các yêu
cầu tính năng hay các vấn đề về cài đặt. Trình theo
dõi các vấn đề là một tài nguyên chung và bất kỳ ai
viếng thăm site Google Code cũng có khả năng xem xét các
vấn đề đang tồn tại. Tuy nhiên, một yếu điểm chính
của Google Code là những người sử dụng sẽ cần một
tài khoản Google để bổ sung các vấn đề, bổ sung một
bình luận cho các vấn đề đang tồn tại, hoặc 'biểu
quyết' cho các vấn đề mà họ cảm thấy là quan trọng.
Điều này có thể là một rào cản hướng tới những
người ở bên ngoài đội dự án ban đầu của bạn để
tham gia vào vói dự án thông qua trình theo dõi các vấn
đề. Trong bất kỳ trường hợp nào, điều này cũng là
một công cụ sống còn cho sự giao tiếp giữa những
người sử dụng và các lập trình viên và nên được
ứng dụng như một công cụ lên kế hoạch dự án.
Việc
sử dụng trình theo dõi cho phép quản lý dự án đặt ưu
tiên, lập lịch, chỉ định và làm tài liệu các vấn đề
một cách rõ ràng. Đối với nhiều dự án nguồn mở,
các trình theo dõi vấn đề đại diện cho bộ nhớ thu
thập được các vấn đề nào đã từng xảy ra, từ ai,
liệu chúng đã được giải quyết hay chưa, ai đang làm
việc về chúng, phát hành nào sẽ bao gồm những thay đổi
được yêu cầu và những người sử dụng nhận thức
từng vấn đề sẽ là quan trọng thế nào. Thông
tin này có một loạt các sử dụng kỹ thuật, pháp lý và
hành chính. Được sử dụng tốt, một trình theo dõi các
vấn đề là chìa khóa cho một sự quản lý tốt của dự
án.
Trình theo dõi các vấn
đề trong Google Code không giàu tính năng như một số trên
thị trường như có các lựa chọn tùy biến hợp lý. Nếu
dự án của bạn có kích thước đáng kể thì có theerr
có tranh cãi rằng trình theo dõi của Google là không đủ.
Cũng có những lo ngại rằng các dữ liệu trong trình theo
dõi đó hiện nay là không có khả năng xuất đi được,
nêu nếu bạn chuyển từ Google Code trong tương lai thì bạn
có thể thấy nó khó để chuyển đổi nội dung của
trình theo dõi các vấn đề của bạn; dù một cơ sở có
hạn chế để xuất đi các dữ liệu từ trình theo dõi
các vấn đề là có sẵn, thì hiện tại nó dường như
bị hạn chế chỉ với thông tin đầu đề, chứ không
phải các nội dung của thảo luận. Tuy nhiên, trình theo
dõi các vấn đề là nhanh và dễ dàng để thiết lập
và, có lẽ quan trọng nhất cho những người sử dụng
mới, là nó đơn giản, không có việc làm cho rối vì các
tính năng của “người sử dụng mạnh” của một số
giải pháp khác. Một rào cản thấp ở lối vào đối với
những người sử dụng có mong muốn báo cáo các vấn đề
là sống còn để lôi kéo những người sử dụng đó vào
công việc của bạn. Trình theo dõi các vấn đề của
Google Code làm công việc tốt theo hướng này.
Kiểm soát phiên
bản
Google Code đưa ra các
hệ thống kiểm soát phiên bản như Subversion, Git và
Mercurial. Các hệ thống kiểm soát phiên bản đó hỗ trợ
cho sự phát triển phân tán và theo dõi những thay đổi
theo từng dòng một đối với từng tệp và tài liệu
trong kho, theo dõi ai đã thực hiện thay đổi, khi nào và
vì sao. Thông tin này là sống còn trong việc theo dõi các
quyền sở hữu trí tuệ (IPR) trong dự án của bạn nhưng
cũng cho phép bạn dễ dàng quản lý các phiên bản khác
nhau của các đầu ra và sửa các lỗi của bạn một cách
dễ dàng.
Sử dụng một hệ
thống kiểm soát phiên bản phổ biến là sống còn đối
với các dự án nguồn mở mà muốn cam kết với cộng
đồng các lập trình viên và những người sử dụng của
họ. Chính thông qua hệ thống kiểm soát phiên bản mà
những người sử dụng sắc sảo có khả năng có được
các phiên bản phát triển mới nhất mã của bạn và đưa
ra mã đối với các bản vá nào sẽ được cung cấp.
Là vượt ra khỏi
phạm vi của tài liệu này để mô tả sử dụng SVN trong
phát triển nguồn mở. Tài liệu chi tiết về sử dụng
Subversion có thể được thấy trong Sách Subversion (xem các
tài nguyên).
Wiki
Wiki được Google Code
cung cấp đôi khi bị hạn chế khi so sánh với một số
phần mềm wiki phổ biến có sẵn. Tuy nhiên, nó có một
ưu thế đáng kể so với các công cụ wiki khác - nó cho
phép nội dung trong wiki soạn sửa được trực tuyến và
sau đó được đệ trình thông qua SVN. Điều này có nghĩa
là có khả năng suwrr dụng wiki theo một cách thức mềm
dẻo hơn nhiều so với nó thường có khả năng chỉ với
một giao diện web. Tất nhiên, Google Code cũng cung cấp một
giao diện web.
Tích hợp
Google dường như sẽ
cải tiến sự tích hợp các công cụ của Google Code. Ví
dụ, một cơ chế được ghi thành tài liệu được cung
cấp để thực hiện các cập nhật cho trình theo dõi các
vấn đề bằng việc nhúng các lệnh vào trong các bình
luận kiểm tra đầu vào của kiểm soát phiên bản. Những
tính năng như vậy là rất hữu dụng trong việc cung cấp
một rãnh kiểm kê trong dự án của bạn. Các tính năng
tích hợp khác có xu hướng sẽ được ghi thành tài liệu
và sẽ được xem như là bản alpha (như, chúng có thể
thay đổi). Ví dụ, các mô tả của trình theo dõi các vấn
đề có thể gồm các tham chiếu tới các trang wiki.
Không may, Google không
xuất bản một API cho Google Code. Điều này làm cho khó
khăn đối với các công cụ của bên thứ 3 để tích hợp
vào với sản phẩm. Tuy nhiên, có các dự án làm việc
hướng tới việc tạo ra một môi trường phát triển tốt
hơn.
Việc cấp phép
Bằng việc đồng ý
với các điều khoản dịch vụ mà Google trình bày khi
đăng ký vào Google Code, bạn trao cho Googe các quyền để
phân phối bất kỳ tư liệu nào bạn tải lên vào dự án
Google Code của bạn. Điều này không làm thay đổi quyền
sở hữu của tư liệu, mà sẽ vẫn là của bạn (nếu nó
đã có trước đó).
Trên trang quản trị
dự án có một hộp kéo thả để thay đổi giấy phép
được quảng cáo của dự án. Điều này ràng buộc một
dự án vào một tập hợp con các giấy phép nguồn mở.
Nó cũng cho phép một người áp dụng một giấy phép thứ
2, riêng rẽ cho các tài sản không phải mã trong một dự
án. Các dự án nên nhận thức được rằng việc thay đổi
một giấy phép dự án không là dễ dàng như việc thay
đổi một khoản trong hộp kéo thả một khi có nội dung
trong wiki và kho, vì các tư liệu sẽ phải được cấp
phép một cách thận trọng. Vì thế, sự xem xét thận
trọng giấy phép mà bạn chọn trong quá trình đăng ký là
quan trọng. Nếu bạn muốn sự hỗ trợ để chọn một
giấy phép, hãy liên hệ với chúng tôi ở OSS
Watch.
Các lựa chọn thay
thế và các rào cản để sử dụng Google Code
Đầu tiên và trước
hết, bạn cần nhận thức được rằng các chính sách về
tổ chức của bạn có thể tư vấn chống lại với (hoặc
thậm chí cấm) sử dụng các dịch vụ không được phê
chuaanrr của các bên thứ 3. Tuy nhiên, nếu bạn có ý định
mở nguồn dự án của bạn và bạn muốn làm việc hướng
tới tính bền vững thực sự thông qua con đường nguồn
mở, thì sau đó điều quan trọng là các đầu ra của bạn
là sẵn sàng cho những người sử dụng tiềm năng và các
thành viên cộng đồng theo một cách thức liên tục và
bền vững, thậm chí vượt ra khỏi việc cấp vốn ban
đầu của bạn. Trong nhiều trường hợp, việc sử dụng
một cơ sở bên ngoài, như Google Code, sẽ thường là dễ
dàng hơn và rẻ hơn so với việc tạo ra các dịch vụ
trong nội bộ cho việc đặt chỗ các đầu ra của bạn.
OSS Watch sẽ có khả năng
liên lạc với những người ra chính sách của tổ
chức của bạn để thiết lập một chính sách chấp nhận
được và thực tế cho cả dự án và tổ chức của bạn.
Giả thiết rằng
không có rào cản tổ chức nào để sử dụng hệ thống
của một bên thứ 3, thì một người sau đó phải chọn
một dịch vụ để sử dụng. Một dải rộng lớn các
dịch vụ thương mại và không vì lợi nhuận đưa ra một
tập hợp các dịch vụ so sánh được đối với Google
Code. Mỗi nhà cung cấp đó đưa ra một
tập hợp các dịch vụ và tập hợp các điều kiện khác
nhau để sử dụng. Chúng bao gồm SourceForge, GitHub,
Savannah, GNA, BerliOS, TuxFamily, Debian Alioth. OSS Watch sẽ
hạnh phúc để giúp cho dự án của bạn quyết định
ngôi nhà phù hợp cho các đầu ra đó của bạn.
Nhiều dự án ban đầu có liên quan tới một cơ quan, nó
có thể cân nhắc đặt chỗ các dịch vụ đó trong nội
bộ. Điều này trao sự lựa chọn tùy biến các công cụ
với lưu ý cho các nhu cầu của dự án. Việc đặt chỗ
như vậy có tác động bổ sung của việc cung cấp một
kết nối rõ ràng giữa dự án và cơ quan đặt chỗ. Một
sự liên quan như vậy có thể có lợi hoặc có sự hạn
chế, phụ thuộc vào các ý định của dự án. Ví dụ,
sự liên quan mạnh với một cơ quan có thể ngăn cản một
số những người đóng góp tiềm năng khỏi việc sẽ
tham gia vào, hoặc nó có thể là một cơ chế mà theo đó
cơ quan cải thiện thương hiệu của nó trong một lĩnh
vực được đưa ra. Nó cũng để lại dự
án sự tiếc nuối về một sự thay đổi hoàn cảnh trong
một tổ chức duy nhất.
Google Code thường là
một giải pháp tốt cho các nhu cầu đặt chỗ của bạn.
Nó là sạch sẽ, thuận tiện để sử dụng và có trọng
tâm. Tuy nhiên, yêu cầu phải có một tài khoản Google để
tương tác với trình theo dõi các vấn đề có thể là
một rào cản tiềm tàng cho những người cam kết tham gia
với dự án. Tuy vậy Google Code nói chung là một giải
pháp tốt cho một dự án kích cỡ vừa và nhỏ có mong
muốn được thiết lập và nhanh chóng chạy và không muốn
bị lẫn lộn với một đống các công cụ không phải
lúc nào cũng cần thiết trong một dự án do cộng đồng
dẫn dắt.
Lưu ý ngắn gọn của
OSS Watch 'Tránh
phần mềm bị bỏ rơi: nhận thức để hiểu thấu phương
pháp phát triển mở' (bản
dịch tiếng Việt) đưa ra một tổng quan của những
thực tiễn tốt nhất có thể được áp dụng khi tiến
hành sử dụng các dịch vụ phát triển mở như Google
Code.
Google
Code is a website which offers free hosting services for open source
projects. It provides the core facilities required by a community-led
open source project. This document is a basic introduction to getting
started with Google Code project hosting.
The
services provided by Google Code are:
authentication:
anyone
with a valid google.com account can use their normal Google username
and password to log into Google Code and access the functionality.
This means that if you use any existing Google web services such as
GMail or Calendar, you already have a Google Code account. You can
control access to your project resources by adding members to your
project using their google.com account.
version
control:
Version
control systems are used to track changes to project resources such
as documentation and source code. Subversion (often abbreviated to
SVN), Git and Mercurial are available for use in projects. The
version control system is the key to managing changes in project
resources over time, tracking contributions with respect to IPR
management and collaboration between developers.
communications:
Mailing
lists and forums are used for project communication. While Google
Code does not include either, they can be linked to from the project.
Google Groups, another member of the Google family, uses the same
authentication system that Google Code uses. The great thing about
Google Groups is that it can be used as a traditional mailing list,
an online forum or an RSS feed; the choice is left up to the user.
This flexibility maximises the chances that any given user will
subscribe to the list.
wiki:
A
wiki is provided for simple project documentation. The wiki provided
is functional and flexible, but does not provide very elaborate
functionality. It is not a substitute for a well-managed
informational website, but it is a great resource for developer notes
and a basic project website. One of the biggest advantages of the
Google Code wiki over other project-hosting solutions is that you can
edit the content via a web-based wiki editor or via the project
repository. This makes access to and use of wiki files much more
flexible.
issue
tracking:
An
issue tracker is provided that allows users to report ‘issues’,
whether they be bug reports, feature requests, or installation
problems.
downloads:
The
downloads section is a simple area for storing files for download.
These will usually be software releases and documentation packages.
feeds:
Comprehensive
RSS and Atom feeds are provided to facilitate monitoring of the
services and gadgets can be used in wiki pages to monitor external
feeds.
group
administration functions:
these
include the management of project members and the configuration of
the available tools.
Google
also provides a number of other services that may be useful to
projects hosted on Google Code, or even elsewhere. There is no
requirement to use them, but it makes sense if you need these
features, since your project members will already be signed in to
their Google account and will therefore benefit from the Google
single sign-on system.
Other
useful services that can be linked to from your project site include:
calendar:
useful
for tracking project releases, meetings and governance issues such as
votes.
docs
and spreadsheets:
sharing
documents between project members for collaborative development is
really easy using the docs and spreadsheets applications.
analytics:
Google
Analytics may be enabled for the project in order to monitor web
traffic.
Creating
a Google Code project is done using the online
form.
It
is worth noting that your project name will form part of the URL for
your project development site, so be sure that the name you enter is
the one you want.
Google
also limits the number of licence options available to you. In their
FAQ, they explain this decision as follows:
‘The
open source community has been flooded with lots of nearly identical
licenses. We’d like to see projects standardize on the most
popular, time-tested ones. For that reason, we encourage projects
that we host to use one of the licenses listed on our project
creation page. The offered licenses offer enough diversity to meet
most developer needs, while minimizing license proliferation.’
The
licences selected by Google are broadly in line with the Open Source
Initiative’s list of licences they believe to be ‘popular and
widely used with strong communities’. There is also the optional
facility to apply a separate, Creative Commons, licence to cover the
non-code assets in the project.
Once
you have submitted the details, a new project page will appear in the
Google Code site at http://code.google.com/p/
At
this stage, it is worth putting a little more thought into the
summary and description, since they are the first things potential
users see when evaluating a project. The description should elaborate
on the aims of the software and should contain high-level information
written in non-technical language so that newcomers can easily see
whether this project is likely to be of interest. It should also
contain a brief technical overview, to allow specialists in the field
to compare several projects to see which one is best suited to them.
Finally, it should contain a candid evaluation of the state of the
project. If the project is on the drawing board rather than in the
deployment phase, users will appreciate knowing this up front, while
developers will recognise they will be getting in on the ground floor
and therefore may be able to influence important design decisions.
Mailing
lists are the most important communication mechanism for
community-led projects. In addition to one or more existing mailing
lists, Google Code can be used with Google Groups, another of the
Google family of applications. One of Google Groups’ most popular
features is that subscribers can use it either as a mailing list or
as a web forum. This is important, as it allows contributors to
participate in a way that is most comfortable for them. Another
important feature of Google Groups is that it can be used to provide
an interface to an existing mailing list, so if you already have a
mailing list in operation, then Google Groups can provide a
convenient interface to it, together with Google’s excellent search
capabilities.
If
you already have a group or mailing list for your project, enter the
address of a web page describing the list in the ‘discussion
groups’ field. This will ensure that your mailing list information
is displayed on your project’s Google Code page. You can enter more
than one mailing list in the admin form; each of them will appear on
the project page. Note that the page you enter must already exist;
entering information into this field does not create the list for
you.
You
should also consider providing a mailing list address to receive
activity notifications from Google Code. In this case you enter the
email address rather than a website address. This means that
interested parties are notified by email of new commits and issue
tracker activity. Whether you send these notifications to the same
list as that intended for discussion or whether you set up
alternative lists really depends on the governance of your project.
In consensus driven projects, such as those in the Apache Software
Foundation, notifications will typically go to the open developer
mailing list, whereas in more closed communities they will typically
be sent to a closed list. Google Code allows you to use different
lists for each type of notification. Note that for these mail
notifications to work your mailing list must accept posts from
@googlecode.com.
The
Google Code issue tracker allows users to report ‘issues’,
whether they be bug reports, feature requests, or installation
problems. The issue tracker is a public resource and anyone visiting
the Google Code site is able to examine existing issues. However, a
major drawback of Google Code is that users will need a Google
account in order to add issues, add a comment to existing issues, or
‘vote’ for ones they feel are important. This may be a barrier
towards people outside your initial project team to engage with the
project via the issue tracker. In any case, this is a vital tool for
communication between users and developers and should be utilised as
a project-planning tool.
Using
the tracker enables project management to prioritise, schedule,
assign and document issues clearly. For many open source projects,
issue trackers represent the collective memory of what problems have
been encountered, by whom, whether they have been addressed, who is
working on them, which future release will contain the changes
required and how important users perceive each issue to be. This
information has a host of technical, legal and administrative uses.
Used well, an issue tracker is key to a project’s good management.
The
issue tracker in Google Code is not as feature rich as some in the
marketplace but does have reasonable customisation options. If your
project is of a considerable size it could be argued that the Google
Code tracker is insufficient. There are also concerns that the data
in the tracker is not currently exportable, so if you move from
Google Code in the future you may find it difficult to migrate your
issue tracker content; though a limited facility to export data from
the issue tracker is available, at present it seems to be limited
just to the header information, not the content of the discussions.
However, the issue tracker is quick and easy to set up and, perhaps
most importantly for new users, it is simple, with none of the
potentially distracting ‘power user’ features of some
alternatives. A low barrier to entry for users wanting to report
issues is vital to involving those users in your work. The Google
Code issue tracker does a great job in this respect.
Google
code offers Subversion, Git and Mercurial version control systems.
These version control systems support distributed development and
track line-by-line changes made to every file and document in the
repository, tracking who made the change, when and why. This
information is vital in tracking intellectual property rights (IPR)
in your project but also allows you to easily manage different
versions of your outputs and to correct mistakes easily.
The
use of a public revision control system is critical to open source
projects that wish to engage their user and developer community. It
is through the version control system that cutting-edge users are
able to get the latest development versions of your code and provides
the code against which patches will be supplied.
It
is beyond the scope of this document to describe the use of SVN in
open source development. Detailed documentation on the use of
Subversion can be found in the Subversion Book (see resources).
The
wiki provided by Google Code is somewhat limited when compared to
some of the popular wiki software available. However, it has one
considerable advantage over other wiki tools - it allows content in
the wiki to be edited offline and then committed via SVN. This means
that it is possible to use the wiki in a much more flexible way than
is often possible with a web only interface. Of course, Google Code
also provides a web interface.
Google
appears to be improving the integration of Google Code’s tools. For
example, a documented mechanism is provided to perform updates to the
issue tracker by embedding commands in version control check-in
comments. Such features are very useful in providing an audit trail
in your project.
Other
integration features tend to be undocumented and should be considered
alpha (i.e. they may change). For example, issue tracker descriptions
can contain references to wiki pages.
Unfortunately,
Google does not publish an API for Google Code. This makes it
difficult for third-party tools to integrate with the product.
However, there are projects working towards creating a better
development environment.
By
agreeing to the terms of service that Google presents on sign-up to
Google Code, you grant Google rights to distribute any of the
material you upload to your Google Code project. This does not change
the ownership of the material, which will still be yours (if it was
before).
On
the project administration page there is a drop-down box to change
the advertised licence of the project. This constrains a project to a
small (but reasonable) subset of open source licences. It also allows
one to apply a second, separate licence to the non-code assets in a
project. Projects should be aware that changing a project’s licence
is not as easy as changing the item in the drop-down box once there
is content in the wiki and repository, since materials will have to
be carefully relicensed. Therefore, careful consideration of the
licence you choose during registration is important. If you would
like assistance with choosing a licence, contact us at OSS
Watch.
First
and foremost, you need to be aware that your organisational policies
may advise against (or even forbid) the use of non-approved
third-party services. However, if you intend to open source your
project and you wish to work towards true sustainability via the open
source route, then it is important that your outputs are available to
potential users and community members in an ongoing and sustainable
way, even beyond your initial funding. In many cases, using an
external facility, such as Google Code, will often be easier and
cheaper than creating in-house services for hosting your outputs. OSS
Watch will be able to liaise
with your organisational policy makers in order to establish an
acceptable and realistic policy for both your project and your
organisation.
Assuming
that there are no organisational barriers to the use of a third-party
system, one must then choose a service to use. A wide range of
commercial and not-for-profit services offer a comparable set of
services to Google Code. Each offers a different set of services and
a different set of conditions on use. They include SourceForge,
GitHub, Savannah, GNA, BerliOS, TuxFamily, Debian Alioth. OSS Watch
will be happy to help your
project decide on the appropriate home for its outputs.
Many
projects are initially associated with an institution, which may
consider hosting these services internally. This gives the option of
customisation of the tools with respect to the project needs. Such
hosting has the additional effect of providing a clear link between
the project and the host institution. Such an association may be a
benefit or a restriction depending on the intentions of the project.
For example, strong association with an institution may prevent some
potential contributors from becoming involved, or it may be a
mechanism by which the institution improves its brand in a given
area. It also leaves the project at the mercy of a change of
circumstance within the single institution.
Google
Code is generally a good solution for your hosting needs. It is
clean, comfortable to use and focussed. However, the requirement to
have a Google account in order to interact with the project’s issue
tracker can potentially be a barrier for people to engage with the
project. Notwithstanding that Google Code is in general a good
solution for a small to medium sized project that wishes to get up
and running quickly and does not want to be confused by a wealth of
tools that are not always necessary in a community led project.
The
OSS Watch briefing note Avoiding
abandon-ware: getting to grips with the open development method
provides an overview of best practices that can be applied when
undertaking open development using services such as Google Code.
Dịch: Lê Trung Nghĩa
http://tai4u.blogspot.com/2014/02/mobi-army-230-tai-game-army-ii-230.html
Trả lờiXóahttp://tai4u.blogspot.com/