Tham gia với Dự án nguồn mở [đã đóng]


19

Tôi đang bước vào năm cuối đại học về kỹ thuật máy tính và đã được thực tập cho mùa hè và mùa thu này. Vì tôi sẽ không làm bài tập về nhà, tôi rất thích nhân cơ hội này để tham gia vào một dự án nguồn mở nào đó. Tôi thành thạo với C, C ++, Java và Python. Tôi cũng khá quen thuộc với Linux, sử dụng nó trên máy tính xách tay của tôi vào lúc này và tất cả các lớp học của tôi trong học kỳ này tập trung vào nó.

Tôi đã xem xét việc xem xét Android hoặc Ubuntu nhưng trong quá khứ tôi đã cảm thấy hơi choáng ngợp. Có ai có lời khuyên nào? Quan tâm đến những gì sẽ là một dự án tốt để làm việc, bắt đầu từ đâu và nếu tôi thực sự có thể đóng góp nhiều.

Và cuối cùng, những thay đổi thường xuyên được chấp nhận như thế nào? Bao lâu thì tôi sẽ viết mã chỉ để nó bị từ chối?

tl: dr Tìm kiếm thêm kinh nghiệm lập trình bằng cách đóng góp cho một dự án nguồn mở. Mới đến hiện trường cần tư vấn.


Tôi muốn nói hạ cánh ở đây chắc chắn là đáng giá!
squillman

6
Nghe có vẻ là một ý tưởng tốt, nhưng hãy kiểm tra các quy tắc "ánh trăng" tại công ty nơi bạn đang thực tập. Một số nơi, đặc biệt nếu chúng là cửa hàng phần mềm, sẽ rất hạn chế về những gì bạn có thể làm - ngay cả trong thời gian của bạn và trên PC của chính bạn.
Steve

1
có lẽ xem xét việc học một ngôn ngữ lập trình mới mang tính khai báo nhiều hơn những ngôn ngữ bạn đề cập. Giống như haskell hoặc scala. Sau đó làm việc trên một dự án nguồn mở.
mrsteve

Câu trả lời:


15

+1 cho Steve Haigh khi đề cập đến ánh trăng.

Nếu bạn làm việc cho một cửa hàng phần mềm, bạn có thể thấy mình trong tình huống mà chủ nhân của bạn tuyên bố quyền sở hữu phần mềm bạn đã làm việc trong thời gian của mình. Trước khi bắt đầu, hãy tham khảo ý kiến ​​chủ nhân của bạn để làm rõ chính sách ánh trăng tại công ty của bạn.

Một nơi tốt để bắt đầu có thể là OpenHatch . Chúng là một trang web dành để giúp mọi người tham gia vào các dự án Nguồn mở. Họ sẽ có thể cung cấp cho bạn một danh sách các lỗi "cỡ cắn" để bắt đầu với bất kỳ dự án nào đã đăng ký với họ và có thể giúp bạn liên lạc với những người đóng góp khác, những người sẵn sàng tư vấn cho bạn về dự án và / hoặc ngôn ngữ bạn chọn.

Việc chấp nhận ngược dòng các bản vá của bạn sẽ và gần như luôn luôn xoay quanh chất lượng của bản vá và nếu nó có các trường hợp kiểm tra đi kèm. Thực tế, nhiều dự án sẽ không chấp nhận các bản vá trừ khi chúng bao gồm một bài kiểm tra xác minh bản vá.
Vì chất lượng mã của bạn là thứ sẽ được đánh giá một cách chủ quan, hãy sẵn sàng làm việc với những lời chỉ trích mang tính xây dựng từ những người duy trì ngược dòng để cải thiện mã của bạn.


1
Chính sách của họ về ánh trăng là điều mà tôi thậm chí chưa từng xem xét. Ngoài ra OpenHatch.org trông khá tuyệt. Đăng ký ngay bây giờ để kiểm tra xem nó ra.
Tarmon

2
Một lưu ý khác về ánh trăng, nếu bạn hỏi nhà tuyển dụng của bạn, bạn có thể muốn làm như vậy qua email cho dấu vết giấy. Mặt khác, điều gì ngăn họ thay đổi suy nghĩ sau đó và nói rằng họ không bao giờ từ bỏ yêu cầu của họ đối với dự án của bạn? Chỉ là một ý nghĩ.
Jeff Welling

Tôi không thể tin rằng câu hỏi này đã bị đóng, đặc biệt là vì nó có rất nhiều "câu trả lời", dựa trên quan điểm hay không!
Dave Kanter

7

Là người quản lý của một dự án nguồn mở (FireBreath), tôi sẽ đề nghị bạn chỉ cần tìm một dự án mà bạn sử dụng hoặc bạn quan tâm và tìm cách bạn có thể giúp đỡ. Có rất nhiều điều bạn có thể làm mà không cần viết bất kỳ mã nào. Trong dự án của chúng tôi, chúng tôi cần mọi người giúp đỡ:

  • Kiểm tra và báo cáo lỗi
  • Cập nhật tài liệu trên trang web
  • Giúp viết công cụ phụ
  • Đi chơi trong phòng IRC và giúp người dùng mới
  • Tạo các plugin ví dụ bằng FireBreath để người dùng mới xem

Tất nhiên, đây là những dự án cụ thể cho dự án của tôi (và bạn sẵn sàng giúp đỡ! ;-) nhưng tất cả các dự án đều có những thứ như thế mà người dùng mới có thể đóng góp. Đóng góp gần đây nhất của tôi cho một dự án khác là thêm một công cụ để quản lý tốt hơn các quyền lưu trữ ký tự đại diện trên gitolite. Gắn bó với các dự án mà bạn thấy thú vị hoặc có thể sử dụng!

Chúc may mắn!


Tôi thậm chí không nghĩ về những thứ như vậy. Cảm ơn những lời đề nghị. Tôi sẽ thực hiện một số tìm kiếm xung quanh cho một dự án mới hơn cần những loại điều đó.
Andrew

+1 cho tài liệu. Là một điều phối viên cho SharePoint SUSHI, một trong những điều tẻ nhạt và khó viết nhất là tài liệu, nhưng chúng cũng quan trọng nhất đối với người dùng mới. Giúp đỡ ở đó cũng sẽ giúp bạn làm quen với các tính năng của dự án và cách thức hoạt động.
Ryan Hayes

3

Tôi không thể nói cho bạn biết bạn nên chọn dự án nào - điều này thực sự phụ thuộc vào bạn. Tuy nhiên, tôi có thể cho bạn biết cách tham gia: nếu bạn cảm thấy đam mê một dự án nào đó, tức là đã sử dụng ứng dụng trong một thời gian dài (đối với hệ điều hành có thể không dễ dàng như vậy), bạn luôn có thể gửi các bản vá với các thay đổi được đề xuất (cải tiến, sửa lỗi) và yêu cầu chủ dự án xem xét / tích hợp.
Điều đó khá dễ dàng với các dự án trên GitHub - chỉ cần tạo bản vá của bạn và gửi yêu cầu kéo.
Dù sao, bạn gửi càng nhiều bản vá có giá trị, càng có nhiều khả năng họ sẽ chào đón bạn vào nhóm cốt lõi.


2

Nếu bạn không phải là chuyên gia trong một ngôn ngữ cụ thể, vẫn còn nhiều hoạt động được đánh giá cao. Chúng bao gồm thử nghiệm, viết hướng dẫn, viết tài liệu API, làm trang web cho các dự án, v.v ... Nếu bạn có mối quan tâm đặc biệt, hãy tìm một dự án trong lĩnh vực đó và đóng góp kiến ​​thức về miền. (Ví dụ: chúng tôi có một cộng đồng tích cực của các dự án hệ điều hành hóa học).


2

Để tham gia vào các dự án nguồn mở, hãy tham gia OpenHatch - đó là toàn bộ nhiệm vụ của họ:

một dự án nguồn mở với mục tiêu hạ thấp các rào cản để tham gia đóng góp nguồn mở và tăng tính đa dạng. Chúng tôi đạt được những mục tiêu này thông qua một số sáng kiến ​​...


2
bạn có phiền giải thích thêm về những gì nó làm không và tại sao bạn lại đề nghị nó như trả lời câu hỏi được hỏi? "Câu trả lời chỉ liên kết" không được chào đón tại Stack Exchange
gnat

1

Ví dụ, Mozilla luôn tìm kiếm các lập trình viên C ++ để phát triển và thử nghiệm các dự án của họ. Thật là quá sức đối với một người mới đến để tải xuống cơ sở mã lớn và dành hàng giờ để xây dựng nó. Sau đó, phải mất khoảng sáu tháng để bạn dành trung bình hơn 10 giờ một tuần để làm quen với nó và hiểu một lỗi hoặc khiếm khuyết hoặc một điều tương tự. Sau đó, bạn sẽ sớm có thể hiểu làm thế nào để xem sao chép, cô lập, sửa chữa, kiểm tra, kiểm tra hồi quy, áp dụng các bản vá. Khi bạn làm điều này nhiều hơn, bạn có thể có quyền truy cập ghi trực tiếp vào cơ sở mã, giám sát một tính năng hoặc như vậy. Tôi tin rằng điều này đúng với mọi dự án đã trưởng thành với nhiều người làm việc với nó.

Mặt khác, có nhiều dự án chết vì không có ai để phát triển chúng. Thật khó để tìm thấy những người có thể giúp bạn hoặc tài liệu về những loại này.

Để đạt được sự cân bằng giữa các thái cực này, bạn có thể tìm một chương trình mà bạn cần sử dụng thường xuyên hoặc hàng ngày. Tiếp tục sử dụng nó đủ để bạn sớm tối đa hóa tính năng của nó. Có lẽ phát triển một số mối quan hệ đối với việc sử dụng nó trên các tùy chọn khác. Sau đó, bạn có thể gửi yêu cầu tính năng hoặc tự mình nhận yêu cầu vì bạn có thể là người hiểu rõ nhất về tính năng bạn đề xuất. Nhìn bề ngoài, tùy chọn này khiến bạn cảm thấy như bạn sẽ không bao giờ phát huy tối đa các tính năng của chương trình. Nếu bạn ở lại với nó đủ lâu, bạn sẽ cần chương trình để làm nhiều hơn những gì nó thực sự có thể làm. Nó có thể là một sửa chữa bảo mật / quyền riêng tư, hoặc một điều tinh tế hoặc cải thiện khả năng sử dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.