青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++ Programmer's Cookbook

{C++ 基礎(chǔ)} {C++ 高級(jí)} {C#界面,C++核心算法} {設(shè)計(jì)模式} {C#基礎(chǔ)}

為什么要開(kāi)源!

Introduction

I bet that many of today's programmers have heard about Open Source, but don't want to use the principle in their programs. That's a shame, because it's a beautiful concept.

I've tried to make the information in this article as brief as possible, so don't look weird at the many lists in this article. This is mostly information put together from various sources, just for usefulness. And, this is my first article and English is not my native language, so don't be too hard on me. Any comments (good or bad) and suggestions are always welcome!

For those people who don't know what the Open Source concept is, here is a brief description.

The idea behind Open Source

The idea behind Open Source is that by giving the source of a program away, people can learn from it, improve it, extend it and fix bugs. The Open Source concept goes hand in hand with free software. Free like in freedom, not price.

For example: Linux. Yes, Linux is Open Source too. Linus Torvalds developed the base of this operating system, and gave away the source. Currently, multiple major companies are working on their own Open Source versions of Linux (SuSE, Red Hat, Debian and Mandrake are some examples), and even many more people are working on it too. Thanks to this, bugs are fixed very fast (advanced programmers even fix bugs while using Linux), and functionality is extended.

Your own protection

When you give away the sourcecode of your very own program, how can you be sure that people won't steal it and say that it is their own? By using a license. A license protects your rights, and can help you in a lawsuit against anyone who infringe these rights. There are many licenses that may be used for Open Source programs. You can find them here. The two most widely used licenses are the GNU General Public License (GPL) and the GNU Lesser General Public License (LGPL). Here a short explanation of why these licenses are important:

  • People may copy your code under the same license.
  • People may modify and distribute the (modified) source code.
  • People can't say that they wrote your code (it's copyrighted or 'copyleft').
  • Patents may not make the program proprietary, so patents must be licensed for everyone's free use.
  • People can't change the license applied to the source code.

The difference between the GNU General Public License (GPL) and the GNU Lesser General Public License (LGPL) is that the latter permits use of the source code in commercial programs, while the GPL does not.

Why applying the license to your company's program(s)?

If your boss agrees upon applying the GPL or LGPL to the company's program(s), then the company will have the following benefits:

  • Faster software development.

    Many people work on the same project.

  • Faster bug fixes.

    When a bug is found, there are many people available who can fix the bug in no-time!

  • More people will use the program.

    The program's sources are available, and people help develop the program. Through this, many more people will get to know about the program.

  • The wishes of the general community will be automatically integrated in the program.

    Because the general community develops the program, the program will be more likely to satisfy the general community.

  • Less development costs.

    People help developing, mostly for free.

  • Better beta testing.

    Many people use the program. People from beginners to experienced users.

Implementing the GNU (Lesser) General Public License

If you want to put your program and source code under the (L)GPL or any other license, then you'll have to put a short notice at the top of each source file. You will also have to include the license itself, and put a short notice in the documentation. You can use these steps for any license, but since the GPL is the most common used license, I'll discuss that here. Follow these steps:

Source code files

Add the following notice to the top of your source files, and change the information to suit your program:

Copyright (C) [year] [name of author]

This program is free software; you can redistribute it 
and/or modify it under the terms of the GNU General Public 
License as published by the Free Software Foundation; 
either version 2 of the License, or (at your option) any 
later version.
This program is distributed in the hope that it will be 
useful, but WITHOUT ANY WARRANTY; without even the implied 
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE. See the GNU General Public License for more 
details.
You should have received a copy of the GNU General Public 
License along with this program; if not, write to the Free 
Software Foundation, Inc., 59 Temple Place, Suite 330, 
Boston, MA 02111-1307 USA

Also mention how you can be contacted by paper and electronic mail.

Splash screen/About box

On the program's splash screen, or if there is no splash screen used in the About box, put the following notice:

[program name] version [versionnr.], Copyright (C) [year] [author's name]
[program name] comes with ABSOLUTELY NO WARRANTY.

And mention how the user can let the program show the license (or provide a 'License' button on the About box).

You may also want to place the OSI-approved or Open Source logo on your splash screen/About box. You can find it here.

License file

You must add a file containing the full license you use to the files that accompany the source files and your program. Usually, this is a file named COPYING.

Copyright disclaimer

If you work for an employer or school, then you should let them sign a copyright disclaimer. The how and why of this disclaimer is explained at the end of the GPL.

Open Source programs

Here is a short and incomplete list of Open Source programs that might replace (expensive) programs.

  • Windows -> Linux.
  • InstallShield installers -> NSIS (Nullsoft Scriptable Install System).
  • Photoshop & Paint Shop Pro -> The Gimp.
  • Microsoft Office -> OpenOffice.
  • Filesharing -> E-mule and Shareaza.
  • .NET Framework -> Mono.
  • MSN Messenger & AIM & ICQ -> Gaim.

Thousands of Open Source programs can be found at the following sites (among others):

Discussions

I write this update, now many months since I first wrote this article. Open Source has always been a point of discussion, and will always be. As it worked out, this article got the best votes and the worst votes, and the rating got stuck somewhere in the middle.

There was one goal I wanted to achieve by writing this article, and I met that goal: to make people think about Open Source. Why Open Source? Figure that out by yourself. This article became part of the discussion, and I hope that this discussion will be continued for a long, long time...

Links and resources

You can find any useful links here:

About Dani?l Pelsmaeker


Dani?l is a student at the Hanzehogeschool in Groningen, Holland, where he studies Architecture.
He knows too much about computers, and thanks to that, unfortunately, everyone keeps asking him for advice and cyberaid.

A long, long time ago, in a galaxy far away... erhm. No!
When he was little, he knew little about computers. He started learning about them by pulling the PC's plug from the socket, and his mother constantly lost all her work.
Then, Commodore 64 programming started at the age of six:
1: PRINT "Hello world!"
2: GOTO 1

From then, trough QBasic, Visual Basic 4, 5, 6 and now Visual Studio 2002 with C# and .NET.

That was his history, in short.

Click here to view Dani?l Pelsmaeker's online profile.

posted on 2005-12-29 15:30 夢(mèng)在天涯 閱讀(713) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Open source


只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


公告

EMail:itech001#126.com

導(dǎo)航

統(tǒng)計(jì)

  • 隨筆 - 461
  • 文章 - 4
  • 評(píng)論 - 746
  • 引用 - 0

常用鏈接

隨筆分類(lèi)

隨筆檔案

收藏夾

Blogs

c#(csharp)

C++(cpp)

Enlish

Forums(bbs)

My self

Often go

Useful Webs

Xml/Uml/html

搜索

  •  

積分與排名

  • 積分 - 1819257
  • 排名 - 5

最新評(píng)論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              国产人成一区二区三区影院| 99精品免费| 亚洲国产精品女人久久久| 久久久久五月天| 亚洲电影免费观看高清完整版在线观看 | 久久一区中文字幕| 欧美成人在线影院| 一区二区三区高清视频在线观看| 欧美性事免费在线观看| 午夜视频精品| 亚洲高清久久久| 亚洲综合视频1区| 黄色另类av| 欧美日韩国产综合视频在线| 亚洲一区欧美一区| 欧美大尺度在线| 亚洲欧美日韩精品久久奇米色影视| 国产午夜精品在线| 欧美精品精品一区| 欧美一区二区三区免费观看| 欧美第十八页| 午夜精品久久久久久久久久久| 极品av少妇一区二区| 欧美日韩国产电影| 久久精品国产欧美亚洲人人爽| 亚洲区一区二| 久久久亚洲一区| 亚洲私人黄色宅男| 亚洲国产成人久久| 国产精品影音先锋| 欧美久久成人| 久久久久一区| 亚洲自拍电影| 亚洲区一区二| 欧美a级一区| 欧美影院视频| 亚洲午夜久久久| 亚洲国产日韩一区| 国产婷婷精品| 国产精品极品美女粉嫩高清在线| 嫩模写真一区二区三区三州| 午夜精品久久久久久久99热浪潮 | 亚洲精品视频在线播放| 久久精品国产亚洲精品| 一区二区精品在线| 亚洲国产另类 国产精品国产免费| 国产精品色午夜在线观看| 欧美久久久久久| 老色批av在线精品| 欧美中文字幕| 亚洲免费一在线| 99热免费精品| 亚洲久久一区| 亚洲电影自拍| 欧美成人综合一区| 久久综合激情| 久久亚洲综合色一区二区三区| 午夜免费日韩视频| 亚洲综合首页| 亚洲欧美国产制服动漫| 正在播放亚洲一区| 一区二区三区精密机械公司| 亚洲美女在线国产| 亚洲理论电影网| 日韩午夜精品视频| 99re热这里只有精品免费视频| 亚洲国产99精品国自产| 一区二区三区在线不卡| 狠狠综合久久av一区二区老牛| 国产三级欧美三级日产三级99| 国产精品羞羞答答xxdd| 国产精品天天看| 国产精品综合久久久| 国产精品丝袜白浆摸在线| 国产精品拍天天在线| 国产精品一区二区久久国产| 国产欧美在线观看| 国产在线精品二区| 亚洲电影免费观看高清完整版| 在线观看欧美亚洲| 亚洲狠狠丁香婷婷综合久久久| 亚洲人成人一区二区三区| 亚洲九九精品| 亚洲专区免费| 久久精品国产久精国产思思| 久久五月婷婷丁香社区| 女女同性女同一区二区三区91| 亚洲大胆视频| 99精品视频网| 香蕉久久国产| 美女图片一区二区| 欧美日韩一区二区三区在线视频 | 亚洲国产精品久久| 亚洲精选在线| 亚洲在线视频| 久久久噜噜噜久久| 欧美破处大片在线视频| 国产精品视频午夜| 亚洲第一伊人| 中文日韩在线| 久久久人成影片一区二区三区观看 | 亚洲精品一区二| 亚洲视频一二| 久久精品国产久精国产思思| 欧美超级免费视 在线| 亚洲免费电影在线观看| 午夜一区不卡| 欧美精品成人91久久久久久久| 国产精品久久777777毛茸茸| 国产一区二区在线观看免费播放 | 理论片一区二区在线| 亚洲欧洲一区二区三区| 午夜精品在线| 欧美精品综合| 狠狠色狠狠色综合日日五| 日韩一级在线| 久久综合成人精品亚洲另类欧美| 亚洲人成亚洲人成在线观看图片 | 欧美一区二区三区播放老司机| 老牛影视一区二区三区| 亚洲毛片视频| 久久精品免费看| 欧美日韩专区| 亚洲第一精品电影| 午夜在线播放视频欧美| 亚洲国产mv| 久久国产精品免费一区| 欧美色中文字幕| 亚洲国产精品尤物yw在线观看 | 亚洲精品激情| 久久久99免费视频| 一区二区三区视频在线播放| 免费观看日韩av| 国产在线精品成人一区二区三区 | 久久久国产精彩视频美女艺术照福利| 欧美日韩第一区| 亚洲国产欧美在线人成| 久久精品亚洲| 亚洲午夜91| 欧美日韩精品综合| 亚洲精品国精品久久99热一| 久久躁日日躁aaaaxxxx| 亚洲欧美日韩另类精品一区二区三区| 欧美另类99xxxxx| 亚洲精品1区2区| 久久裸体视频| 亚洲婷婷国产精品电影人久久| 欧美精品日韩一本| 亚洲精品极品| 亚洲高清视频的网址| 久久久久欧美| 在线观看日韩av先锋影音电影院| 久久精品首页| 欧美在线观看网站| 国产一区二区三区久久 | 欧美在线视频不卡| 国产日韩欧美视频| 欧美中文字幕久久| 亚洲愉拍自拍另类高清精品| 欧美系列一区| 亚洲欧美国产高清| 国产精品99久久久久久久vr| 欧美日韩视频在线| 亚洲小说春色综合另类电影| 亚洲最快最全在线视频| 欧美视频一区二区在线观看| 亚洲天堂成人在线视频| 一二三区精品福利视频| 欧美色图一区二区三区| 亚洲女人小视频在线观看| 亚洲私人影院在线观看| 国产精品免费网站在线观看| 销魂美女一区二区三区视频在线| 亚洲一区二区三区精品在线| 国产模特精品视频久久久久| 欧美亚洲综合在线| 久久不见久久见免费视频1| 一区二区亚洲欧洲国产日韩| 欧美承认网站| 欧美看片网站| 亚洲你懂的在线视频| 香蕉久久精品日日躁夜夜躁| 国产午夜久久| 欧美大色视频| 欧美视频亚洲视频| 欧美在线视频免费观看| 久久久久久伊人| 亚洲精品字幕| 亚洲视频成人| 一区二区三区在线观看视频| 亚洲电影在线看| 欧美偷拍一区二区| 久久久精品一区| 欧美成年人视频| 亚洲女性喷水在线观看一区| 久久aⅴ国产欧美74aaa| 亚洲精品乱码久久久久久黑人| 中文在线资源观看网站视频免费不卡 | 狠狠色噜噜狠狠色综合久| 亚洲电影在线看|