多项式拟合 开源c++_开源是一项令人费解的工作。 我们还是这样做。

多项式拟合 开源c++_开源是一项令人费解的工作。 我们还是这样做。

多项式拟合 开源c++

多项式拟合 开源c++_开源是一项令人费解的工作。 我们还是这样做。

Open Source is hard.

开源很难。

安全很难 (Security is hard)

There's been lots of articles about the recent OpenSSL "Heartbleed" bug. You can spend a day reading all the technical analysis, but one headline that stood out to me was "OpenSSL shows big problem with open source; underfunded, understaffed." A fundamental part of the fabric of The Internet Itself is mostly just one person plus a bunch of volunteers.

关于最近的OpenSSL“ Heartbleed”错误,有很多文章。 您可以花一天的时间阅读所有技术分析,但对我来说很突出的一个标题是:“ OpenSSL显示出开源的大问题;资金不足,人手不足。” “互联网本身”架构的基本组成部分基本上只有一个人和一群志愿者。

"The fascinating, mind-boggling fact here is that you have this critical piece of network infrastructure that really runs a large part of the Internet, and there’s basically one guy working on it full time."

“这里令人着迷的,令人难以置信的事实是,您拥有这一关键的网络基础架构,它确实运行着很大一部分Internet,并且基本上只有一个人在全职工作。”

Moreover, we don't sing contributor's praises for their hard work and success while their software work, instead we wait until a single line (albeit one of the more important lines) fails to live up to expectations. Darn that free stuff, mostly working, and powering our connected global network.

此外,我们不会赞扬贡献者在他们的软件工作过程中的辛勤工作和取得的成功,而是等到一行(尽管是最重要的一条)未能达到期望时才赞美他们。 释放那些免费的东西,这些东西大部分都可以工作,并为我们连接的全球网络提供动力。

Open Source is largely a thankless job. Sometimes in the Microsoft .NET community, it feels more futile because it's often hard to find volunteers. Many folks use the default stuff, or whatever ships with Visual Studio. With Rails or Node, while they have corporate backing, there's a sense that the projects are community driven. The reality is in-between, but with open source projects built on the Microsoft stack volunteers may say "we'll just use whatever the ship."

开源在很大程度上是一项不费力的工作。 有时在Microsoft .NET社区中,这种感觉更加徒劳,因为通常很难找到志愿者。 许多人使用默认的东西,或者Visual Studio附带的东西。 有了Rails或Node,尽管它们得到了公司的支持,但可以感觉到项目是社区驱动的。 现实介于两者之间,但在Microsoft堆栈上构建的开源项目中,志愿者可能会说:“我们将使用任何船只。”

There's anger around past actions by Microsoft, but as I've said publicly before, they've come a LONG way. I will keep pushing open source at Microsoft until I think I'm done pushing and can push no more. There's a seismic shift going on inside. Mistakes get made, but it's moving in the right direction. Everyone is learning.

微软过去的举动引起了人们的愤怒,但是正如我之前公开说过的那样,它们已经走了很长一段路。 在我认为我已经完成推动并且再也不能推动之前,我将继续在Microsoft推动开源。 内部正在发生巨大的变化。 犯了错误,但它正在朝着正确的方向发展。 每个人都在学习。

可见度很难 (Visibility is hard)

Jeremy Miller's team recently stopped active development on the "FubuMVC" open source .NET framework. In his exit blog post, the question of the viability of .NET open source comes up:

杰里米·米勒(Jeremy Miller)的团队最近停止了对“ FubuMVC”开源.NET框架的积极开发。 在他的退出博客文章中,提出了.NET开源的可行性问题:

"Setting aside the very real question of whether or not OSS in .Net is a viable proposition (it's largely not, no matter how hoarse Scott Hanselman makes himself trying to say otherwise), FubuMVC failed because we — and probably mostly me because I had the most visibility by far — did not do enough to market ourselves and build community through blog posts, documentation, and conference speaking."

“撇开一个非常现实的问题,即.Net中的OSS是否是可行的命题(无论斯科特·汉塞尔曼(Scott Hanselman)多么嘶哑,试图做出其他决定,这基本上都不可行),FubuMVC失败是因为我们-可能大部分是我,因为我有迄今为止最具知名度的网站–不足以通过博客,文档和会议演讲来营销自己和建立社区。”

It's very true that in a large way visibility drives viability for many open source projects. Jeremy's retrospective is excellent and you should read it.

的确,可见性在很大程度上驱动了许多开源项目的可行性。 杰里米(Jeremy)的回顾展非常出色,您应该阅读它。

I think it's harder to bootstrap a large framework project that is an are alternatives to existing large frameworks because for many, it's easier to use the default. Frameworks like FubuMVC, OpenRasta, ServiceStack, Nancy and others all "reimagine the default." They are large opinionated (in a the best way) frameworks that challenge the status quo. But it's much more difficult to cultivate support for a large framework than it is a smaller library like Humanizer or JSON.NET.

我认为引导一个大型框架项目是现有大型框架的替代方案比较困难,因为对于许多人来说,使用默认值更容易。 FubuMVC,OpenRasta,ServiceStack,Nancy等框架都“重新构想了默认设置”。 他们都是以自以为是的(最好的)框架来挑战现状。 但是,要获得对大型框架的支持要比像HumanizerJSON.NET这样的小型库要困难得多

Still, without these projects, we'd all still be using the defaults and wouldn't be exploring new ideas and pushing limits as a community like the FAKE F# build system, or Chocolatey, or Boxstarter.

尽管如此,如果没有这些项目,我们所有人仍将使用默认值,并且不会像FAKE F#构建系统,Chocolatey或Boxstarter这样的社区探索新的想法并突破极限。

Microsoft can better support OSS projects not just with licenses and money, but with visibility. I'd propose dedicate Open Source tracks at all Microsoft conferences with speaking slots for open source community members. DotNetConf is a start, but we can go bigger.

Microsoft不仅可以使用许可证和资金,还可以通过可见性更好地支持OSS项目。 我建议在所有Microsoft会议上为开源社区成员开辟专用的开放源码轨道。 DotNetConf是一个开始,但我们可以做得更大。

整理困难 (Organizing is hard)

OWIN is an example of a small, but extremely important project that affects the .NET world that is struggling with organization. Getting it right is going to be important for the future. There's a small, but influential group of community members that having been trying for months to find middle ground and build consensus around a technical issue.

OWIN是一个很小但非常重要的项目的一个示例,该项目会影响在组织中苦苦挣扎的.NET世界。 正确处理对未来将至关重要。 有一小群但很有影响力的社区成员,他们几个月来一直在努力寻求中间立场并就技术问题达成共识。

ASP.NET Web API and SignalR both build on top of an open source project called OWIN (Open Web Interface in .NET) that aims to decouple servers, frameworks, and middleware from each other.

ASP.NET Web API和SignalR都建立在一个名为OWIN(.NET中的Open Web Interface)的开源项目之上,该项目旨在使服务器,框架和中间件彼此分离。

There's an issue open over on GitHub about what may seems like an obscure but important point about OWIN. The OWIN specification doesn't include an interface called IAppBuilder, but IAppBuilder is used by default in most Microsoft examples. Can the underlying OWIN framework remain neutral? The issue is a long one, and goes off on a few tangents. It's a complex problem that perhaps 20 people fully understand.

这里有一个问题,在开放GitHub上什么可能看起来约OWIN一个不起眼但很重要的一点。 OWIN规范不包含称为IAppBuilder的接口,但是在大多数Microsoft示例中,默认情况下都使用IAppBuilder。 底层的OWIN框架可以保持中立吗? 这个问题是一个漫长的问题,并且涉及一些切线。 这可能是20个人完全理解的一个复杂问题。

Scott Koon worked hard on a Governance document for OWIN and hasn't seen any forward motion. He vented his frustration on Twitter, rightfully so. Under the often-used "Lazy Consensus" technique, if folks are silent or don't reply in 72 hours, that is effectively consent and can change the direction of a project. Active involvement matters.

斯科特·库恩( Scott Koon)为OWIN撰写了一份治理文件,努力工作,但没有任何向前推进的动议。 他在Twitter上发泄了沮丧,这是理所当然的。 在经常使用的“懒惰共识”技术下,如果人们在72小时内保持沉默或不回复,则表示有效同意并可以改变项目的方向。 积极参与至关重要。

The fun part of open source is the pull requests and writing code, but before the code building, there's the consensus building. Ownership is the most contentious part of this process. Ownership means control; control over direction. The key to finding control and working through ownership issues is by thoroughly understanding everyone's differing goals and finding a shared vision that the community can rally around, then move forward.

开源的有趣之处在于拉取请求和编写代码,但是在代码构建之前,先进行共识构建。 所有权是此过程中最有争议的部分。 所有权是控制权; 控制方向。 找到控制权并解决所有权问题的关键是,透彻理解每个人的不同目标,并找到一个共同的愿景,使社区可以团结起来,然后向前迈进。

This sausage making process is tedious, messy, but necessary. These discussions are as much a part of OSS as the code is. It takes equal parts patience and pushing.

这种香肠的制作过程很繁琐,杂乱,但必不可少。 这些讨论与代码一样,也是OSS的一部分。 它需要同等的耐心和推动。

参与很难 (Getting involved is hard)

I get dozens of emails every week that all ask "how can I get involved in open source?" Everyone assumes my answer will be "write code" or "send a pull request," or sometimes, "help write documentation."

每周我都会收到数十封电子邮件,询问他们“我如何参与开源?” 每个人都以为我的答案将是“编写代码”或“发送请求请求”,有时是“帮助编写文档”。

In fact, that's not all you can do. What you can do is read. Absorb. Understand. Be welcoming, inclusive, and kind. Offer thoughtful analysis and ask questions. Avoid hyperbole and inflammatory language. Show code examples when commenting on issues. Be helpful.

实际上,这不是您所能做的。 能做的就是阅读。 吸收。 理解。 热情,包容和友善。 提供周到的分析并提出问题。 避免夸张和发炎的语言。 在评论问题时显示代码示例。 有所帮助。

Your blog posts are the engine of community, your open source commits, documentation, promotion, samples, talks, gists are important. But getting involved in open source doesn't always mean "fork a project and send a giant pull request with your worldview." Sometimes it's the important but unglamorous work of writing a governance document, organizing a conference call, or thoroughly reading a giant Github issue thread before asking a question.

您的博客文章是社区的引擎,您的开源提交,文档,推广,示例,讲座,要旨重要。 但是,涉足开源并不总是意味着“分叉一个项目并向您的世界观发送巨大的请求”。 有时,这是写治理文档,组织电话会议或在问问题之前彻底阅读Github巨大问题线程的重要但乏味的工作。

Why do we do this? It's not for the glamour or the money. It's because we are Builders. I encourage you all to get involved. There's lots to be done.

我们为什么要做这个? 这不是为了魅力或金钱。 这是因为我们是建设者。 我鼓励大家参与其中。 有很多事情要做。

* photo by Sweet Chili Arts, used under CC

*摄影:Sweet Chili Arts,根据CC使用



Sponsor: Big thanks to Novalys for sponsoring the blog feed this week! Check out their security solution thatcombines authentication and user permissions. Secure access to features and data in most applications & architectures (.NET, Java, C++, SaaS, Web SSO, Cloud...). Try Visual Guard for FREE.

赞助商:非常感谢Novalys本周赞助了博客提要! 看看他们结合了身份验证和用户权限的安全解决方案。 安全访问大多数应用程序和体系结构(.NET,Java,C ++,SaaS,Web SSO,云...)中的功能和数据。 免费试用Visual Guard

关于斯科特 (About Scott)

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

斯科特·汉塞尔曼(Scott Hanselman)是前教授,前金融首席架构师,现在是演讲者,顾问,父亲,糖尿病患者和Microsoft员工。 他是一位失败的单口相声漫画家,一个玉米种植者和一本书的作者。

多项式拟合 开源c++_开源是一项令人费解的工作。 我们还是这样做。
多项式拟合 开源c++_开源是一项令人费解的工作。 我们还是这样做。
多项式拟合 开源c++_开源是一项令人费解的工作。 我们还是这样做。
About   关于 Newsletter 时事通讯
Hosting By 主持人
多项式拟合 开源c++_开源是一项令人费解的工作。 我们还是这样做。

翻译自: https://www.hanselman.com/blog/open-source-is-a-thankless-job-we-do-it-anyway

多项式拟合 开源c++