2010-07-27 34 views
6

Đã có cuộc thảo luận vào đầu năm 2009 về việc liệu Microsoft có phát hành mã nguồn cho trình biên dịch F # theo giấy phép MS-PL/khác hay không. A StackOverflow thread đã đề cập đến trạng thái lúc đó.F # có bao giờ được mở nguồn không?

Kể từ đó rất nhiều điều đã xảy ra. Chúng tôi đã nhìn thấy một bản phát hành chính thức của F # với .NET Framework 4.0 (và Visual Studio 2010), và cho tất cả những gì tôi biết, nó vẫn hoàn toàn là nguồn đóng. Có Microsoft chỉ im lặng về chủ đề này, hay họ đã tuyên bố rõ ràng rằng họ không còn ý định mở trình biên dịch? Có lẽ mọi thứ đang trong quá trình rồi. Về cơ bản, bất kỳ tin tức/cân nhắc nào?

+0

Câu hỏi thú vị và tôi đánh dấu đây là wiki cộng đồng. – Incognito

+0

Thật vậy, cộng đồng wiki có lẽ là tốt nhất. – Noldorin

+3

Các cơ sở nguồn F # là không gần gũi, nó đã có sẵn với distribe cho hầu hết các đời của dự án. Đó là trong C: \ Program Files \ FSharp-2.0.0.0 \ nguồn trên máy tính hiện tại của tôi. Xây dựng nó không phải là thẳng về phía trước, nhưng một số trợ giúp có thể được tìm thấy tại: http://cs.hubfs.net/forums/thread/13456.aspx. Dự án không phải là giấy phép theo giấy phép nguồn mở được phê duyệt, và họ không chấp nhận các bản vá lỗi, do đó, theo nghĩa đó, nó không phải là nguồn mở. Điều này có thể thay đổi trong tương lai, nhưng sau đó ai biết những gì tương lai nắm giữ? – Robert

Trả lời

7

(Như những người khác đã chỉ ra, nguồn luôn luôn có sẵn, nhưng vẫn chưa dưới MS-PL, các 'đã được phê duyệt mã nguồn mở' giấy phép -. Nó hiện đang có một giấy phép hạn chế hơn)

Nếu tôi được là hoàn toàn mang tính đầu cơ, tôi có thể đưa ra giả thuyết rằng có một số điều mà có thể đã "trì hoãn", một phiên bản mã nguồn mở của F # biên dịch, bao gồm các:

  • mã biên dịch đòi hỏi một chút quét dọn. Nguồn luôn được công khai, nhưng không có giấy phép nguồn mở, không quá nhiều người đã xem xét nó. Nếu bạn mở nó, mọi người sẽ xem xét, trong trường hợp đó, sẽ tốt hơn nếu mã tuân theo ít nhất một số nguyên tắc kiểu cơ bản, như sử dụng RecommendedDotNETNamingConventions thay vì old_legacy_ones. Trong một ý nghĩa, một trình biên dịch F # nguồn mở sẽ là một 'ứng dụng F # chuẩn', vì vậy nó sẽ quan trọng đối với mã có chất lượng cao liên quan đến những thứ cơ bản như quy ước mã hóa F # (đã phát triển theo thời gian 5+ vừa qua năm kể từ khi mã trình biên dịch ban đầu được phát triển).
  • Mã hiện tại khó xây dựng trên bất kỳ nền tảng nào. Một bản phát hành nguồn mở sẽ yêu cầu ít nhất các tài liệu hợp lý về cách xây dựng trình biên dịch (vẫn không nhỏ ngày hôm nay!) Và lý tưởng xây dựng các kịch bản cho các nền tảng chính (ví dụ: Windows/linux/etc).
  • Ngay cả khi IronPython/IronRuby (nhóm 'mở') là "chỉ xuống đại sảnh" từ nhóm F # tại MS, làm cho mọi thứ 'mở' vẫn đòi hỏi phải nhận được rất nhiều tiền mua/đăng xuất từ ​​quản lý, và đăng xuất lại từ quản lý mới nếu quản lý thay đổi trước khi bạn nhận được bản phát hành mã nguồn mở đầu tiên ra khỏi cửa.
  • (tất cả thông thường 'phí' để quản lý dự án nguồn mở)
  • Tất cả những nhân lực trên, và nhân lực dành cho những thứ đó là nhân lực không chi cho những thứ khác, như làm việc trên phiên bản tiếp theo của F # .Vì vậy, trong thực tế nó có thể khả thi hơn cho số ít người làm F # làm việc để nibble đi tại công việc ở trên trong thời gian rảnh, thay vì cống hiến, nói, cả tháng để tập trung vào một bản phát hành mã nguồn mở. Vì vậy, có thể làm chậm mọi thứ xuống. (Vì những người khác đã đề xuất một cách tiếp tuyến bằng cách chỉ vào các liên kết đến các bài đăng việc làm, một số nhân lực có thể được thực hiện bởi các thực tập sinh tại MSR.)

Tôi nhấn mạnh rằng tất cả điều này là hoàn toàn giả thiết, vì không có chính thức từ bất cứ ai trong một thời gian dài.

+0

Cảm ơn Brian, đó là thông tin thú vị và suy đoán ... Chúng tôi sẽ phải chờ đợi bất kỳ câu trả lời khẳng định nào, nhưng ít nhất là mã đang có tinker cho bây giờ. – Noldorin

+0

Cảm ơn bạn đã trả lời giả thuyết và không chính thức, nhưng rất có nhiều thông tin. –

+0

Có sẵn một ấn bản nguồn mở: http://fsharp.github.com/fsharp/ (giấy phép Apache 2.0). –

0

Đây có phải là câu hỏi không? Tôi không chắc chắn, đó là một yêu cầu cho bất kỳ tin tức nào liên quan đến tình huống hiện tại. Việc thêm "cân nhắc" vào yêu cầu là khó hiểu, có những cân nhắc nào? Trình biên dịch MS C# là nguồn đóng nhưng thông số C# là với ECMA. Thông số F # chưa được mở cho cộng đồng rộng lớn hơn, đó là phần nói của tôi.

+0

Không, rõ ràng là một yêu cầu cho tin tức liên quan. Bằng cách cân nhắc, ý tôi là nó sẽ bao giờ xảy ra, tại sao (không), sẽ có bất kỳ lựa chọn thay thế nào không? – Noldorin

0

Quyết định còn lại với Microsoft, tôi không nghĩ rằng bất cứ ai ở đây đều có thể trả lời câu hỏi đó. Tuy nhiên, ngay cả khi nó là nguồn đóng, chúng tôi vẫn sẽ có thể có tất cả những lợi ích của khuôn khổ, như Microsoft là khá cam kết cải thiện và cung cấp thêm chức năng trong khuôn khổ. Tôi nghĩ rằng ngay cả khi một cái gì đó không phải là nguồn mở hay không, nhưng người sáng tạo đang hỗ trợ nó hay không, đó là mối quan tâm lớn nhất mà tôi có. Chúng tôi có các giai điệu của các dự án trong nguồn mở nhưng chúng trở thành mã rác sau khi chúng không được duy trì và không bao giờ được cải thiện.

+2

Chúng tôi có [mã nguồn cho các phần lớn của thư viện lớp cơ sở] (http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net -framework-libraries.aspx) –

+0

@Tim, xin lỗi tôi đã không nhận thức được nó, nhờ có thông tin –

+1

Nguồn cho lõi của khung .Net đã có sẵn từ 1.0, nhưng nó có cùng giấy phép với tư cách là F # , làm cho nó vô ích đối với bất kỳ điều gì khác ngoài sử dụng cá nhân/học tập. (mặc dù nó là tuyệt vời cho việc học tập từ). Tôi nghĩ rằng nó là khá lập luận rằng MS không mã nguồn mở - cách đây không lâu họ đã mở ra toàn bộ DLR và IronPython/IronRuby theo giấy phép Apache. –

4

Khi nhận xét của Robert về câu hỏi của bạn cho biết, mã nguồn đã có sẵn như là một phần của mỗi lần cài đặt, mặc dù nó không có giấy phép nguồn mở. Ngoài ra, đọc giữa các dòng, tôi nghĩ rằng những thứ như this blog post by Don Syme vẫn trỏ đến một bản phát hành mã nguồn mở như là một ưu tiên cho nhóm.

+0

Tốt tìm thấy ở đó trên bài đăng trên blog. Quả thực nó gợi ý một bản phát hành mã nguồn mở sắp tới. – Noldorin

Các vấn đề liên quan