Open Sourcing Windows Based Project
metasynth asks: "The company I work for has developed a timer system in Delphi for Windows machines. I'm currently trying to convince my boss to open source it as the program is to be used to help develop a community around it. I'm looking for good arguments to open source the system, and details (or links to details) of how to go about it. What type of license should we use to allow us to keep reasonable control over the project, e.g. a license where anyone can download and work on the code and distribute it as much as they want, but have them send us back the modifications that they have done for us to decide whether or not to include them in the offical release. One other question is: What sort of interest is there in the Slashdot comunity for a windows based open source project?"
Please, just use GPL. You don't lose the software, you gain improvements. There's really nothing in trying to "force" people into sending their enchantments to you; at least nothing warranting using anything but the GPL. GPL has been tested and analyzed so many times it's proven to be pulletproof. You also gain everyone's respect.
Please, not flames. I think this would be a great idea, not just for the /. community but for the open source movement overall. There is the obvious us and them mentality from both the M$ contingent and the open source community. Open Source folks preach this is the way to go and the M$ community cries we can't be profitable with GPL. This could be a great oppurtunity to prove that open source relating to the M$ and Windows environments can/is profitable if done correctly.
More race stuff in one place,
than any one place on the net.
personally I would love to see windows as a whole be open source ;)
As per a program being open sourced for the windows environment I am sure it would help begin the process towards it becomming more common, as more examples of programs becomming open sourced more and more will tend to follow that path (if my fore sight is working correctly this morning)
Did not Netscape become open sourced?
as well as Doom?
or was that Quake 1?
Every program I write for windows is open source.
IMHO close source software is for greedy igmo's and if more demand is made for it I am sure it will be a big step in a good direction for that hacker in all of us who wants to learn things the easy way and not have to reverse engineer something...
Don't you all think that?
Computers save man alot of guesswork, but so does the bikini
These are the exact terms used in the Netscape
licenses.
Just make sure you continue to lead the
development. Learn from the early lessons that
the Mozilla project teaches us - don't expect a
public license to mean that a ton of developers
will magically develop things - there needs to be
a leader who does a majority of the code (exactly
how Linux was in the early days).
Mark
The fact of the matter is, however, that if you are the primary contributor to the project, and/or are in the position of the "maintainer," you should have no problems with the project pretty much following your intended direction. If there is enough dissension among your contributors, there is always the possibility a fork will form, but nothing anybody can do can remove anything from your project.
As for making sure that modifications are propagated back to you: This isn't possible under the GPL (which is what you want to use), and isn't really enforceable even if a license did provide for it. However, if you are the maintainer/principal contributor, people will be pretty likely to try to get their code included in the release, and if you use the GPL they will have to use it, and so, for example, they couldn't (legally) distribute their own binary without source.
One more thing : you would have to be responsible (unless you copyright the code to the FSF) for prosecuting anybody who violated the license. I don't think it happens often, but it is something to keep in mind.
Jack Valenti and the MPAA are to technology as the Boston strangler is to the woman home alone
Is the GPL actually proven? I don't believe it has been tested in a court yet. Wasn't there an article about our friend John Carmak in Id software thinking about bringing someone to court over the GPL?
Chances are the GPL will be proven once (if?) that happens, but until then you can't really say, from a legal perspective, that it is proven. The GPL is an excellent license, however, and recommended for use. The fact that it is used on so many projects indicates that a lot of people trust it, and believe that, should it ever have it's time in court, it will win. I personally believe that it would.
From an open-source project point of view, then yes, GPL has been proven to work successfully.
T.
Based on the terms you describe, the something similar to Sun's Community Source License maybe what you are looking for. It is the only license I know of that will allow you to force that modifications be returned to you. Neither the BSDL or the GPL will do this.
However, if it is not that important that the code be returned, please use the least restrictive license possible, something like the BSDL or the X Windows License.
I have no idea where you could find an online copy of that article (although I'm sure it exists)... I wish I had my copy here. doh.
Jack Valenti and the MPAA are to technology as the Boston strangler is to the woman home alone
What kind of project are you working on? You say it's a timer system but that doesn't ring any bells for me. The best would be if it is something extensible. If users can add "mods" or "skins" to add functionality or merge it with other programms it would be ideal. You could tell your boss about the wide user base you would get by allowing others to expand your work. People tend to stick to software if there own code is in it.
Shop around at Netscape and Sun for a license.
WWJD for a Klondike Bar?
a licence where anyone can download and work on the code and distribute it as much as they want, but have them send us back the modifications that they have done for us to decide whether or not to include them in the offical release.
I don't think it's in your best interest to try to force this with a license clause. In other words, don't try to force people to send you their modifications or not distribute them on their own.
For one thing, most people will do what you want anyway. Maintaining software can be a lot of work, and, if I have a modification I make to some code, it's a lot simpler and easier for me to just send it to you for inclusion than to maintain it myself or to start a parallel distribution. It just doesn't make sense to do that.
So, since it doesn't make sense for me to not do what you want, you don't have to legally mandate it in a license. Mandating that patches be sent to you would make your code non-free, using the open source definition, so, that would put off a lot of potential developers.
The GPL would probably serve you well and probably much better than anything you could cook up yourself.
just finished Raymond's 'The Catherdral & the Bazaar' The Magic Cauldron essay in particular makes a very good rational / conventional economics value case for Open Source in many cases, & sensibly discusses when it does & does not make sense -
No Delphi was/is a development IDE from what used to be known as Borland Software (now Inprise). It was there answer to M$ Visual Basic IDE and actually quite good. I'm in favor of having and executable rather that some VB run time code.
It is based on Object Pascal.
lcase - @home in cyberspace
I read some other posts, and was reminded that the NPL and MPL kind of give first priority to the copyright holder. Somebody mentioned the SCSL, although I don't know much about that.
Also, they're probably more suit friendly than the GPL.
Sorry for the innaccuracy.
Jack Valenti and the MPAA are to technology as the Boston strangler is to the woman home alone
The GPL is actually a license (i.e. granting you additional rights to the ones that you already have) as opposed to most other "licenses" which are really restrictions on rights you have. Most jurisdictions allow someone to grant you additional rights without requiring your permission, but you must explicitly agree (i.e. sign something) to give up rights. Therefore, "shrink wrap licenses" are not enforceable in most jurisdictions.
Here's where UCITA comes in. Everyone knows that it's evil because it will put teeth in those "shrink wrap licenses." To those of us who do not use shrink wrap software, this is no big deal. The flip side is that it would give razor-sharp piranha teeth to the GPL, and if you could actually prove that someone was distributing software in violation of the GPL (i.e. I take GNU Emacs, hack it a little bit, and sell it without releasing source code), then they can be not only sued, but also charged with a crime! Chances are if you can prove they did, they'll be convicted or found liable for damages.
If you think about it, UCITA is our friend. It could have the effect of driving people away from the ridiculous and uncertain "licenses" of shrink wrap, commercial software providers towards Open Source, GPL software.
So, that's my new mantra: "UCITA is your friend."
Just be sure to wear the gold uniform when you beam down -- you know what happens when you wear the red one.
> No, you do not give up your rights with the GPL. You force everyone else to.
Not true. With GPL, you CAN NOT DENY people's right to copy it, in contra distinction to a typical commercial license in that users NEVER had the right to copy it in the first place (unless for archival purposes.)
Don't know about that. Look at some of the other big boys in the sandbox who are looking favorable on the GPL model, IBM, SUN etc. The worlds changing pretty quickly and if companies don't change with it, they die. Knowing M$ is not nearly near death, it could happen and could happen quickly, look at some who didn't change. . . DEC, WANG, Macy's, Dodge, Zewnith, the list goes on and on.
More race stuff in one place,
than any one place on the net.
Here's a site for Open Source Delphi projects:
http://delphree.clexpert.com/pages/default.htm
Here are arguments against it (although I'd love it): :)
:wq! DOH!
1) No freeware/universal compiler, we all know that Borland C++ is different from Visual C++ and from Turbo C++ for Windows, (in your case, Turbo Pascal and Delphi). And they cost big bucks and big hard drive.
2) Not many people care about the source, they just want it so they can compile it. Compiling the source cuts any library inconsistancies, other than that I don't care what you do with it.
3) The windows community is different, they are more into downloading shareware and cracking it. Seriously, I can find plenty of VMWare cracks for NT, but not Linux.
If you do go open source, good for you.
Roy Miller
--Roy
Speaking personally, and probably for a lot of other people, I can't get excited about a project which is /only/ for Windows.
:)
There's nothing wrong with open source code for Windows, but it would be better if your work was cross-platform, or at the very least easy to port after-the-fact.
Note that most of the GNU projects are available for Windows, as are things like Samba, Perl, etc.
A Delphi module though? Good luck.
A lot of the benefits (to the author) of releasing code open source is somewhat proportional to the size of the community that uses it (and therefore eyeballs the code). If the userbase is small, you're unlikely to reap the benefits.
Sorry to be so negative. Release it anyway, just because it makes you feel good
--
Open Source has nothing to do with the platform. There are plenty of Windows programs that have the source code available, but they tend to be low-key things like lcc and such, and not the big moneymakers behind Windows' popularity (Word, Quicken, Delphi, most games). Then again, Linux doesn't have programs that that fit into that class at the moment.
You need to give a company a very good reason to open source anything.
:) There are many arguments for open sourcing however unless there are some clearly visable benifits (visable by the boss not by you) you are facing an uphill battle.. but if your up to it... fight on :)
:)
Far to many see open sourcing as "giving it away" and in short it is...
They see binary only as a way to control the program (this is a flawed idea.. any cracker can decompile binarys and examin the results for flaws.. or any coder could do same and see how it was done)
They also give up the right to slap down anyone who trys to distribute the source and/or binarys.. All they can do is go after anyone who distributes binarys and no source.
There are a lot of neat market modles that work well but thats asking a bit of a radical change. Let it stay as long as they feel they can compeate the old way... and right now open sourcing dose not automaticly open up any markets.
Question: Dose the code to be openned enhance/premote an existing product by the same company...
If this is the case then openning the source just makes it better and better. The company still has a closed source product and everyone is happy
Question: Is there a proffit made from the product?
If a company is losing money on a product they can chouse to fight it out and hope for the best or they can open source the product and get some publicity for other products.
Question: Is the program free anyway...
Premotional closed source isn't nearly as effective as premotional open source...
It dose mean you'll never terminate the premotional piriod but it also means no one can terminate the premotion.
Even better.. if a compeditor makes a commertal copy (eyeball and rewrite) of your premotional code.. normally you'll just get pushed into obscurity while the comeditor rakes it in... with open source everyone supports you for being the inovator and you get even more premotion as the guys who did it first and "did it better" (even if you didn't.... open source bies is THICK some times.. thats a good thing BTW.. it needs to be.. open source as a premotional tool needs to be better than TV ads.. and right now it's better than that big football event thingy.. the supper somthing... the super troll???)
Basicly anything you "Give away" has your name attached and as a result is premotional...
So what if they can not benifit from open source (in a way that is easy to understand)
You could try anyway
You can allways go for liccensed source...
This is something that has been around for a very long time... You ask that they sign a simi-restrictive non-disclosure.
I stress simi-restrictive.... You WANT your custummers to distribute upgrades and patches...
As well as just document tricks and tecniques...
and the occasional bugfix is allways a good thing...
I don't actually exist.
There are companies which did exactly this, opening there former proprietary software. Two very well known examples are Mozilla and Zope. There is a good description how Digital Creations went open source with Zope and what their fears were and why they still did it.
--Carpe diem!
One of the major (IMO) problems for GPL'ed software still exist under this dreamy picture of the UCITA. That is the problem of who's going to do the suing?
For instance, you put together a neat little GPL'ed widget, and put it out there every one to use. Six months later you get an email from a friend of yours commenting that the latest Windows beta (or to be fair MacOS X DR) has a suspiciously similar widget in it. What are you going to do? Take on the hords of corporate lawyers?
Even with UCITA to back up your claim, you still have to be able to afford the expense of the lawyers and the time necessary to pursue your claim.
Besides the UCITA places so many other unfair restrictions on the user as to be unacceptable on it's own anyway. We should not even begin to accept the bad to get the good. Bad Software has the info on why UCITA is a bad idea.
Where the value of X-Mailer: is the true measure of a man...
Hypothetical situation -- let's say a company has a product that they'd like to open source and allow free non-commercial use, but require payment for commercial use?
Are there licenses in existence to cover this?
Anyone wanna start a website that covers things like this? Maybe a segment of one of the already-existing code/source sites?
I don't think there is any way of enforcing these terms (on people giving back changes and feedback), but at least it's there in the license. Since we do not profit from these projects (at least not initially), we are interested in the feedback mostly for academic purposes anyway, so enforcement in our case is not much of a concern.
You can read the license for the AAFID project (my main project now) here.
--Diego
Please moderate the above post up. Very funny!
Sig goes here
At the Tcl/Tk Conference, Brent Welch of Scriptics presented a paper on TEA. From the abstract:
"The goal of TEA is to create a standard for Tcl extensions that makes it easier to build, install, and share Tcl extensions. In its current form, TEA specifies a standard compilation environment for Tcl and its extensions. The standard uses autoconf, configure and make on UNIX and Windows."
Specifically, the standard uses Cygwin on Windows. More info is available at: http://dev.scriptics.com/doc/tea/
One huge advantage to using TEA is that you won't need to recompile your extensions for each new version of Tcl/Tk (as long as you only call the public APIs).
-- Don't Tase me, bro!
I could be wrong, but I don't believe any of these concerns apply to Delphi. Isn't Delphi a proprietary Inprise/Borland language with only one implementation? I could be all wrong here, but if memory serves that is the case... I also seem to remember reading they were considering porting it to linux at some point in the future.
If I am right then none of these concerns really apply, the source will only be useful to folks with Delphi but there is no worry of multiple versions. The main thing I would think about would be what might you gain/lose by open sourcing it. You gain, at least potentially, more people poking through your code and finding (and fixing) bugs. You lose, well, probably very little, but then again I don't really know your business situation.
If you have competitors that might gain a significant advantage over you through your release of the code, then I would seriously consider not releasing it. However, if that is not a huge concern, releasing it would probably be a good thing - at least it could be expected to increase the number of eyeballs reviewing it for problems. Don't expect miracles though - the number of open source windows developers is probably pretty small, the number who use Delphi would be a subset, and the number that would be interested in your particular project can only be a subset of that. Now if that linux port ever happens the potential audience should grow quite a bit... so such a release could be viewed as a low risk investment which *might* really pay off later.
However, there is the fact that if you do release it will be unders a pseudo-open license (ala Netscape or Sun - NOT GPL or BSD.) This means you will be reserving the right to hamstring or kill the code at any point - you aren't allowing forking. Open source developers will tend to work on projects with the sort of license you mention only if they have a strong interest in the functionality and/or (preferably and) the company that controls the code has a good reputation for supporting the community. Even then it may not be enough - in the long run we're better off reimplimenting code from scratch and placing it under a truly open source license than contributing countless hours to building on a half-open project only to see the owner kill it later. So releasing this while you have no immediate expectation of substantial return might help build a little of that sort of reputation for you, which *could* lay the groundwork for substantial returns in the future - but again, no guarantees. I would consider it a longshot.
If you don't see any way that the release can cause your company substantial harm, I would say go for it. But if the release would expose you to significant risk, I couldn't recommend it - the gain is all potential, with no guarantees.
(These comments may or may not reflect the posters own opinions after he has another cup of coffee.)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
IMHO, the Mac has had a lot of strong shareware development, but personally, the hastle of getting the $10 or $20 bucks per install isn't worth the effort of putting in nagware or timeout schemes - i'd rather put my time and effort into building better features than lock users out.
In my practical experience from being the principal on a MacOS open source project (http://www.webdav.org/goliath), I decided to use the GPL over other licenses (including LGPL) for the fact that it offers me and my code the best protection. The other side of the balance can include, however, adoption of your project/library. For example, there is only one WebDAV client library for MacOS (mine), and it is open source. Putting that under LGPL would put me and other open source developers at a disadvantage since any commercial software vendor (Apple included) could come down and basically incorporate the code into a commercial product and benefit at the cost of open source initiatives. In other cases (like the GNU GLibC), it may be beneficial to LGPL the source to gain acceptance/ubiquity.
My biggest challenge has been growing a community around my product, but I've been surprised at the number of places where links to the project have shown up (C-Net and Apple.com especially). I've also been lucky in that my project is part of a bigger, open standrad and cross platform community (being the associated WebDAV protocols).
The thing that would help me the most as a MacOS open source developer would be for Apple to open up their ADC seeding for a minimal cost to qualified open source developers (qualified being that you've at least shipped something and minimal cost being enough to cover CD-ROM pressing/shipping charges and adminstrative expenses). I hope that the development tools derived from the NeXTStep ProjectBuilder and InterfaceBuilder remain free and come with MacOSX; having GCC for mach-o binaries is going to be a boon as well. I love the MetroWerks environment, but for the $500 it costs, gdb/gcc and make work for me.
There are a number of open source projects popping up on the Mac, too...my current fave is "PhatIRC", an IRC client written in RealBasic, with the entire project code and resourced bundled with the distribution under the GPL.
The problem is, as another poster pointed out, the lack of free software development tools. Mac users like fresh and innovative programing envrionments: they like life easy. RealBASIC and FutureBASIC (Mature and -powerful- OOP IDEs...no comparison to the rip-off Visual Basic) are very popular with beginners and lightweight programmers, and CodeWarrior rocks everyone's world at the top end. But these aren;t -free-...while Apple does give away the Macintosh Programmer's Workbench, MPW isn't easy to learn, implement, or use.
While someone could concieveably port the GNU tools to the classic MacOS, unless it's as fresh and friendly as RealBasic or Hypercard (now sadly defunct), the mac community isn't going to bite.
MacOS X has some kewl NeXT dev tools (based on GNU tools, believe it or not), but it's unclear if these is going to be bundled with every copy of X.
SoupIsGood Food
First of all, in many cases you are forced to gloss over some serious problems regarding the freedom of your tools, and rely on making a good-faith effort to be obviously 'open' to the porting of your code to _really_ free languages. I use REALbasic (which is indeed a phenomenal RAD language). A _lot_ of Windows coders use Visual Basic. These are totally closed languages, in the same sense that if you're making Win32 API calls or Mac Toolbox calls they are closed calls. When you're working on a nonfree platform there's almost always _some_ point at which you're forced to interact with just the sort of 'black box' that you're just plain not allowed to use in your own GPLed code.
At the same time, it's usually possible to make a good faith effort to show that you are writing open code: for instance, the REALbasic 'code' is a single, compact file that makes no effort to be readable outside RB: but there's an option to export all the source as text, so I use that and take pains to offer both forms. This remains a problem, as REALbasic has a sophisticated interface builder, and the information for 'default' controls does _not_ get exported: only if you write actual code into the events of a control does it get exported. So the 'export as source' does not actually produce _all_ the information, it omits window object positioning information. However, there is a new RB third party tool called Project Cuisinart which _can_ produce every last detail in a text format- and so it goes, now that Project Cuisinart (which is not itself open) exists, my notion of 'open source' for REALbasic projects is the Cuisinart view of the total project file, complete with 'pushbutton 1' and a long list of properties- which itself is not open.
It can be very frustrating and disheartening. Some of the best tools aren't open. In many cases in order for them to be open, even if the tool itself thrived, there would be a team of good people out of work. Which leads me to...
Hostility. The problem with open source on Windows or Mac is partly that you can expect to be at war with your peers half the time. The best thing you can do is try to help newbies, share information both in the community and as GPLed source, and try to remember 'many enemies, much honor'. This is particularly relevant for me right now. REALbasic has an O'Reilly book, and the author is prone to give page numbers in answer to questions, and not bother answering the questions. You wouldn't believe how much hostility you'd get for objecting to, even questioning, this state of affairs, even if you spend an hour revising your messages to tone them down. Right now I am being publically humiliated on the REALbasic mailing list, with virtually no support except from a few people such as one fellow who asked me to let it lie so the argument would cool down, for this crime: I suggested that many O'Reilly books were the redistillation of community knowledge, and sell on convenience rather than being proprietary information to be withheld from people who haven't bought the book. I also suggested that Tim O'Reilly understood this and approved of his authors being active and helpful in their communities. And I'm being _crucified_ for having the gall to claim these things!
*sigh* If you write OSS for Windows, you can expect to put up with the same nonsense. You can expect to see everything from personal abuse to piles of FUD, you will be accused of wanting to destroy the livelihoods of your peers (to which my response is usually 'maybe' ;) ), and you might even end up in some ugly little tangle like claiming Apache (for instance) is open source, with your 'developer community' tearing you a new one and insisting there are bits you don't get to see, otherwise it wouldn't be secure! That may sound ridiculous, but I'd have thought "O'Reilly doesn't need to care about the community, it provides proprietary information in books and should be supported for doing it" was equally ridiculous, yet I'm sitting by letting myself be _roasted_ and my (such as it is) reputation savaged over just such a ridiculous distortion of what O'Reilly is about.
Best thing I can do is let 'em, and the next time some newbie asks a question I can answer, answer it helpfully while others give page numbers of their books or offer example projects that are proprietary or classes/plugins that are closed. Doing that makes the newbies want to cooperate, because they see some people freely helping them and others leaving strings attached and pontificating about how there's no free lunch. Well- cooperation _is_ a free lunch, it's just that you're giving it as well as getting it. And it would be a poor world if nobody could ever use open source software unless they were willing to use nothing but. Small pockets of cooperators can survive even in the midst of total hostility, and if you're a pocket of one, you're an ambassador. It's my job as such an ambassador to soak up the abuse, even when it's just unfair, and try to look like somebody to emulate. And the code I do release is licensed with the GPL: one thing about closed-land is that people don't seem to act like they get to 'rip off' open code. Instead they freak out at the requirements, and flame you to a crisp for _daring_ to require that they GPL derivative works, never mind that if they had a derivative work it's only by copying big chunks of the original work verbatim. But at least they _are_ freaking out, as it'd be worse if they just took whatever they wanted without asking.
Sometimes it's a real pain writing open on closed tools on a closed platform. Unfortunately, if nobody ever does, the closedness will never change. In that light, I have to encourage anyone trying to write open on Windows, in VB, or whatever. You'll get blasted from both sides- and you should try to set an example, _and_ take extra pains to make sure what you're doing _is_ as open as you possibly can make it- but it's worthwhile to do it.
You're asking two distinct questions, so I'll address them one at a time.
:-) That's like asking Jazz fans with they think about Rock music. They're not going to be your community.
First, as to license, you want to retain control/ownership while making it open source. This is a balancing act. It helps to know exactly what community who want involved with your project. Some communities are ideologically oriented and won't work with any project that doesn't have their license. Other communities are content having less control than the author if it is software that they use (they want to make it better). You also need to think about whether you want the community to help you create the software, or just enhance and maintain it once it's done.
The popular commercial OSS license would be good to look at. I hate to state any specific license because that's sure to start a war, but both the MPL and QPL are good for what you want.
As for your second question, you should care less what the Slashdot community thinks about Windows
But Windows certainly needs to get an Open Source community started! I don't mind commercial or closed-source programs, but in the Windows world, every two bit piece of trash written in VB ends up as shareware! But it's not necessarily their fault since Microsoft has increasingly ignored and insulted the small developer and hobbyist. When you have to spend several hundred dollars for a somewhat complete development environment, you want to get your money back.
But all it takes is the realization that "freeware" doesn't have to be crappy before the community changes. And availability of the Windows SDK wouldn't hurt either.
A Government Is a Body of People, Usually Notably Ungoverned
"And what would be the benefit of his "hang[ing] it all out and go[ing] BSD" -- except that that would make it perfectly legal for some sleazeball "entrepreneur" to hijack his code base, close it off, and start selling a "competing" copy of his work?"
Oh please! I made it 80% of the way down the page without seeing any bullshit being slung about (which is amazing considering the topic), then I see you comment.
I'll tell you what the BSDL does: it allows Apple to use 4.4BSD code in MacOSX without having to give anything back, yet they still give back! When you treat your users with respect, you'll get respect in return. But when you treat your users as potential thieves, don't be surprised when your users choose other software.
My apologies to any GPL developers who treat their users with the respect due them. You are the vast majority. My tirade is only directed to the tiny minority of self-righteous license bigots.
A Government Is a Body of People, Usually Notably Ungoverned