适用于开源项目的在线 SDK/IDE
有没有在线的、可编辑的、也可以编译代码的代码库?
这更像是一个“我希望”而不是一个问题,因为我试图找到一个但没有成功。在我看来,有许多开源的、非常流行的系统可以集成起来,为开源社区带来巨大的好处。
- 一个在线协作工具,基本上是一个维基。需要有一些版本控制。
- IDE/SDK 类型工具 - 至少只是语法检查器和编译器
如果将这两者结合起来,您将拥有一个任何人都可以贡献的开源项目。我认为它的工作方式是这样的:
- 每个 wiki 页面都是一个类
- 要更新类,您必须通过语法检查,包括不破坏依赖于该类的任何其他类
- 有两种用户 - 管理员和贡献者(谁可以匿名)。
- 管理员必须批准类的更新,然后才能将其包含在可编译版本中。他们还对他们“批准”的更改进行评分,这是贡献者的一种排名系统。如果安全是一个问题,您可以说每个批准的更改都会随机分配给另一个管理员进行批准,如果该人检测到恶意代码,那么第一个批准者现在就会受到怀疑,并且可能会被从管理员中删除。
- 贡献者可以下载任何已批准的版本,并且可以选择下载包含他们自己尚未批准的所有修订版本的版本。这通常是为了他们自己的测试,但也许他们只是想改变一种行为,即使没有其他人喜欢这种改变。
- 任何类(满足某些要求)都可以标记为“根”类,这意味着它可以与其依赖项一起编译。
这个系统的优势对我来说似乎是巨大的!
- 几乎不费吹灰之力就能参与。加入开源项目的工作通常至少需要一个小时或更长时间。除此之外,还需要首先下载并安装兼容的 SDK 工具。
- 轻松学习开源知识。我看到越来越多的人加入了一个友好的维基百科风格的网站,他们可以通过浏览该网站作为学习代码库的一种方式
- 更好的代码库(重构)所有调整维基百科的人也可以自由地调整源代码。更简洁的代码将更容易阅读和维护。
- 轻松定制如果我想向我最喜欢的开源软件添加一个功能,我只需进行更改并下载编译版本即可。不需要
- 这可能是 Web 服务器的构建过程。将其插入到更新网站中,它可以替换您当前的构建服务器。当一个版本获得批准时,它只是部署更新(大概是按计划进行的,所以是在低使用时间)
我看到了一些缺点,与 wiki 站点和开源项目中已经存在的缺点相同,有些缺点放大。但我认为这些都有一定的标准
- 公共/匿名贡献可能是坏的或恶意的
- 阻止“垃圾邮件”贡献
- 下载的带宽(所有这些可执行文件)
- CPU 编译所有版本
是否存在这样的东西?如果没有,团队将其整合在一起的可行性如何?还有其他重大问题可能会扼杀这个想法吗?
这个想法是我有一天突然想到的,但我找不到它。我将其“放在那里”部分是为了“建立现有技术”。这个想法可以免费采用和使用,只是不能免费申请专利:p。
Is there any online, editable, code base that can also compile the code?
This is more of an "I wish" than a question, since I've tried to find one with no success. It seems to me that there are a number of open-source, very popular systems which could be integrated for a great benefit to the open-source community.
- An online collaborative tool, basically a wiki. Needs to have some versioning.
- An IDE/SDK type tool - at a minimum just a syntax checker and compiler
If these two are combined, you would have an open source project that anyone contribute to. The way I see it working is like this:
- Every wiki page is a single class
- To update a class you must pass a syntax check, including not breaking any other classes that depend on this class
- There are two kinds of users - administrators and contributors (who can be anonymous).
- Administrators have to approve updates to classes before they can be included in a compile-able release. They also rate the changes that they "approve", which is a sort-of ranking system for the contributors. If security is a concern, you could say that every approved change is randomly assigned to another admin for approval, and if that person detects malicious code then the first approver is now suspect and may be removed from being an admin.
- Contributors can download any approved release, and can optionally download a version that includes all of their own revisions that have not been approved yet. This is normally for their own testing, but maybe they just want to change a behavior, even if no one else likes that change.
- Any class (that meets certain requirements) can be marked as a "root" class, which means it can be compiled with its dependencies.
The advantages with this system seem huge to me!
- Participation with almost no effort. The work of joining an open-source project is normally at a minimum an hour or more. That is in addition to initially downloading and installing a compatible SDK tool.
- Learning about open-source with much reduced effort. I see many more people joining in with a friendly, wikipedia style site that they can just browse through as a way of learning the code base
- Better code base (refactoring) All those people who tweak wikipedia will be free to tweak source code too. Cleaner code will in turn be easier to read and maintain.
- Easy customization If I want to add a feature to my favorite open-source software, I can just make a change and download the compiled version. No need to
- This could be a build process for web servers. Plug this into updating a web-site, and it can replace your current build server. When a version is approved, it just deploys the update (presumably on a schedule so it is during low-usage hours)
I see a few down-sides, the same as those that already exist in wiki sites and open-source projects, somewhat amplified. But I think these all have somewhat standard
- Public/anonymous contributions could be bad or malicious
- Blocking "spam" contributions
- Bandwidth of downloads (all those executable files)
- CPU to compile all the versions
Does any such thing exists? If not, how feasible would it be for a team to put this together? Are there any other major problems that could kill this idea?
This idea just occurred to me one day, and I can't find it. I'm putting this "out there" partially to "establish prior art". This idea is free to be taken and used, just not free to be patented :p.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
也许您正在寻找Cloud9 IDE?
从他们的网站:
Perhaps you're looking for Cloud9 IDE?
From their website: