Open source software and ethics

The Free Software Foundation and the Open Source Initiative consider ethics in relation to interllectual property rights and the rights of end users to run programs for any purpose, redistribute and adapt them. None of this seems to take into account whether the use of the software breaches the ethical values of those developing the software.

For the last four years I have worked in SE Asia developing software to assist NGOs and governments in natural resource management. The main incentive for this work was the inhibitive expense of commercial GIS systems, their over complexity to users and the inability to redistribute spatial databases with a software tool for accessing the data.

Out of this the Natural Resources Database was developed. Whilst I would like projects practising sustainable development to have free access to the software, I do not wish it to be used for projects which are destructive to the environment. To attempt to address this I have established an ethical policy.

The NRDB project now consists of three applications - the original NRDB Std software which is currently 'freeware', NRDB View which is open source (GNU public license), and NRDB Pro which is available (including source code) to sustainable development projects in developing countries.

The project is sustainable in that development work is being funded for individual projects to the mutual benefit of all users. I currently have no intention of turning the NRDB into a commercial product. However, whilst biotechnology, mining and oil companies with little interest in sustainable development projects, would like to make use of the software I remain torn between my ethical support of free software and that for environmental protection.

What's the point of free software if you can't reuse it and combine it with other free software? What you're doing is basically creating your own license which is inherently incompatible with every free software license out there (indeed, it is not a free software license), and thus, your software can't be combined with free software.

This is similar to mglazer's code snippets where you were required to include a "America Rules! Let's Roll" header in your source if you wanted to use it. Are you happy with that too? How about software that's not available for use by certain ethnic groups?

This is a slippery slope. You're basically helping push us down a path where sure, you get source with your software, and you can modify it, but every project has its own incompatible license, and you have to perform complex gymnastics to be able to use it. Imagine having some software that can't be used on Saturdays (written by orthodox jews), other software that can't be used on Sundays (written by fundamentalist christians), database software that can't be used to hold personal information about black people (written by white supremacists, or software that can't be used unless you own a gun (written by ESR).

This is madness. If you want to start this sort of thing, go ahead. But keep it away from our free software.

Both the FSF and OSI specifically do address this concern, but in a way you're apparently not comfortable with. Both the FSF's definition of free software and the OSI's OSD specifically say that you are not allowed to encumber your software with such concerns. There is a reason: the ethical position, at least that exhibited by the FSF, says that you have no moral right to control use of your software. Just like you're not allowed to go to people who (according to you) are hurting the environment, put a gun to their head and tell them to stop or die. Or just kill them outright. The level of immorality is different, but the principle is the same -- you cannot enforce moral behaviour using immoral means. Also consider the fact there are many people, like me, who are adamantly against environment conservation, thinking it hypocrisy and a waste of precious resources which would be more useful trying to solve the problem by leaving the planet. The reason we are all able to work on
software together is that we do not encumber our software with those concerns.

Who can tell that an evil oil company may not accidentally come up with a
more environment-friendly (and more cost-effective) way of doing things, as
a result of using your software? If so, then if you require the company go
through extra hoops to use your software, won't you be working against your
own goals? Things aren't always as clear-cut as people want them to be...

And I agree with moshez, a lot of "environmentalists" are
hypocrites. Perhaps True Environmentalists still exist, but they're hard to
come by. Mostly what the "environmentalists" do is to troll about such and
such an environmental problem in such and such a region of the world, and
then when it comes to doing something about the problem, they shrug
and say, "oh, we're too few, there's nothing we can do about it". Or,
they'll complain about the loss of such and such a natural habitat which has
recently been claimed for some commercial use, while paying zero attention
to the other habitats that are still being preserved. And when all this is
done, they'll have sacrificed lots of pulp trees in the process of spreading
their useless propaganda.

When I was a kid growing up in the Washington, DC area, along the shores of the Potomac signs were posted: "do not come into contact with river water". It was filthy, deadly poison. Today the river is full of boaters and windsurfers; there's a night-and-day difference.
Today's cars put out about 1/100 the smog per mile of 60s-era cars.
Why? Because of a bunch of environmentalists, who "troll[ed] about such and such and environmental problem" and got the Clean Air Act and the Clean Water Act passed. And tk is full of crap when he claims that environmentalists say "there's nothing we can do about it". Rather, this is the argument of the Bush administration, which has finally admitted that global warming is real but that now claims that there is nothing we can do about it. It is in fact the stance of environmentalists that we can and must do something about envirnmental problems.

Claims by some that dire predictions from environmentalists have not come to pass ignore the fact that, in many cases, the dire predictions motivated changes that have helped avoid or postpone the disasters (example: thanks to the CFC ban the ozone hole is healing itself). And of course there have been cranks, like the Club Of Rome people who claimed based on a stupid analysis that we'd quickly run out of almost all resources.

All that said, attempting to establish rules restricting access to your work except by "good people" tends to backfire: "bad" people may become good (so rules on some software against use by the South African government did not change with the end of apartheid), and different projects will define "good" in different ways, preventing people from working together.

In the past, I have avoided presuming to speak for the whole Linux community. This time, however, I think I may safely say that this news [that the PRC Government hasn't officially decided to adopt Linux] will come as a vast relief to all of us. Insofar as it has politics at all, the open-source movement promotes freedom, increased choice, and *voluntary* cooperation. Any "identification" between the values of the open-source community and the repressive practices of Communism is nothing but a a vicious and cynical fraud.

That really pissed me off. How could he presume to speak for me? I'm no supporter of the PRC Government, but one has to consider how their adoption of Linux would influence them. Perhaps I'm naïeve but I believe that the culture of openness in software would inspire them to become more open.

To me that is the great power of the Free Software (uhh, well "Open Source" if you must) Movement: helping to bring about a culture of openness by setting an example of radical sharing. It's radical, all right: as this article's author points out, people could always do bad things with the product of your hard work, and it's natural to want to limit that. But I choose to keep to the faith that SHARING writ large will in the end positively influence everyone whom it touches, and anything less will not have that result.

(BTW, I found ESR's remarks particularly galling because I don't think he gave a damn about China one way or another; he was simply worried about the bad press that would come from such a close association between "Linux" and "Communism".)

Well, I decided to do a little digging into this "NRDB". After all, I figured, someone who spouts stuff like that cannot know much about free software. Well, the README for the "freeware" version [highly confusing nomecalture, especially considering some of the stuff there is free software, and this isn't it] is in Word format. The "open source" version [which doesn't advertise the license until you dig deeper. Apparently GPL? (Which is "General Public License", BTW, not "GNU public license)] needs Visual C++ to compile, and apparently works only on Windows. Of course, it is impossible (for me, at least) to guess which program does what, but that may be just because I lack domain knowledge.

Onwards with ad-hominem, don't you like it how "biotechnology" is now, apparently, anti-environment? Apparently it's better to let people die than to develop medicines. Oil exploration? God forbid! After all, the Americans and Arabs have oil, and we wouldn't want to undermine their financial viability, right? Also notice how the non-free version doesn't even have guidelines: the author just says "beg me, and show me you are A REAL ENVRIONMENTALIST and I will let you get the software. but remember, ALL YOUR MODIFICATIONS ARE BELONG TO ME".

Non-free software developers come in all shapes and forms, I guess. Some may look like greedy business men, while some may look like altruistic environmental hippies. I hope we will all show real moral fiber and refuse to let those software developers co-opt our
goodwill. If NRDB software is really necessary, I hope that the developing countries will manage to develop such software which does not put political conditions on them before they accept it.

Okay, let me respond to some of the points raised. I seem to have disturbed a bit of a hornets nest. But then I don't think that there is any harm with creating controversy and questioning our ideas and beliefs.

Firstly, let me say that the solution I have created is far from yet ideal. The reason I raised the issues here is because I am looking to come with a better solution to which I am morally happy with.

NRDB View is released under the 'General Public License' . It is written in Visual C++. I would like to convert it to an open source platform e.g. using wxWindows but I do not have the time to undertake this work. I discussed this with Jan-Oliver Wagner of freegis.org and he agreed that it was probably best to put the software into the public domain with the stated intention of converting to software to an open source platform. I apologise for using a proprietary format for the documentation - I will address this - I didn't use PDF as this cannot be edited by end-users.

If NRDB View is successful at demonstrating how the software can be more sustainable developed then I would like to make NRDB Std available under the GPL.

NRDB Pro has been developed through the support of a number of environmental NGOs etc. It is used by quite a number of environmental / socio-economic project across SE Asia. Whilst free software in itself cannot help to make a better life for people in developing countries, as part of integrated community-based projects it can be provide useful tool for advocacy, planning and education. It is the intention that similar projects in other parts of the world benefit from the software, however such high profile NGOs could not be seen to be supporting 'non-environmental' projects which is why it is necessary to have an ethical policy.

The policy does not discriminate against the oil industry etc. directly but considers projects on a case by case basic so if they are implementing a sustainable project then there is no problem in them using the software. Such industries can in general however afford commercial GIS so the NRDB Pro is not aimed at them.

The intention of changes to the software being copied back to the author is that all projects may benefit from the changes. My hope is to build a community of users so that the project does not centre around myself. When source code is made available to these projects they can use it for other purposes with no restrictions placed on them.

I apologise if I offend those of you with your belief in free software as the only way forward. I will state again that I don't think the current solution for this project is ideal and I am looking for it to evolve. What I will say is that NRDB Pro is being used by real projects on the ground which are making people's lives better and we should look at the positive things that this project has produced.

I appreciate your constructive criticism but I would also appreciate support from anyone who agrees with the project's aims and is willing to provide assistance.

Okay, let me respond to some of the points raised. I seem to have disturbed a bit of a hornets nest. But then I don't think that there is any harm with creating controversy and questioning our ideas and beliefs.

Nice! Perhaps you also want to go to Harlem and explain to them that they should question their prejudices against white supremacy? Maybe go to a "Doctors for Human Rights" convention and explain to them what the benefits of torture are? I mean, the free software community is fairly small, there must be other communities you can offend with more noticeable results, right? On a less sarcastic note, if you want support for non-free software development, perhaps you should consider that, while this is a perfectly acceptable thing to ask in today's society, perhaps the place to ask it is not on a board dedicated to free software. There's nothing to be gained by just kicking the toys around under the claim "I'm just questioning beliefs". You can go to /., or to GNU, if you really want answers about the ethical position behind free software. There's no need to troll here.

However such high profile NGOs could not be seen to be supporting 'non-environmental' projects which is why it is necessary to have an ethical policy.

From your comment I am not sure if it's a PR problem or a legal problem. If it is the latter, then you ought to be a little less arrogant, and explain that while you would like to share this with the world, legal issues prevent you. Since we have all been in similar situations, we will extend every sympathy. If, however, it is a PR issue then it should be your responsibility to explain to them that the bad PR they get from trying to force their opinions on the world is much worse, and that they are likely to get better software if the programmers at the oil companies would be able to work on the code too.

A simple way to explain this to laymen is by analogy with science. Even when nations are at war, they tend to share scientific discoveries. This is done because of a somewhat "mystical" feeling that science, or in general expanding human knowledge, is a nobel persuit in and of itself. Sure, much science is being used for unethical purposes (for examples, building guns for assassinations). This is an inherent constraint of science -- it can be used for anything. What if the NGOs were funding scientific research about environment? Would they constrain ecologists to publish their papers in journals only people who sympathise with the environment read?

Perhaps another point to make to those NGOs is about how free software people have inherent distrust of any organizations. We believe that we do not want to trade control of our life to anyone, no matter how benevolent. Thus, there is little hope to get any help from the free software community. There are many ways the free software community can help, above and beyond porting. For example, wouldn't you like it if the next version of Debian came with NRDB out of the box, saving the users configuration hassle? This has no chance of happening (or perhaps a small chance if the license is suitable for non-free and if some Debian developer likes it enough to try and actually check this) unless the software is released under a free software license.

Today, many free software programs are used in a way I find detestable. For example, GNU/Linux-based systems, together with something like postfix, are a wonderful platform to send spam from. With its powerful command-line and networking primitives, it is much easier to use a GNU/Linux box for cracking. However, notice how the GPL shows a lack of restraints against spamming and cracking. The free software community prefers to deal with those activities in different ways: legal ways (suing spammers, arresting crackers) and technological ways (anti-spam filters, more secure software).

I hope this explains why you should not hope to find much support on forums dedicated to free software -- not more support than you would find for helping you with meat recipes on forums dedicated to vegetarians.

My intention was to bring source code into the public domain with NRDB View. I would not expect nor ask for support for software not released under the GPL. My long term objectives still remain to make more software available under GPL using non-proprietary tools.

First of all, you probably should do a little reading. GPLed code is not in the public domain.

Now, you started your article with a long rant about how free software doesn't care about ethics. You'll forgive me if it doesn't look consistent with what you just said -- it looked more like you're asking for a free software license that will allow you to control the "ethics" of the user.

Finally, just how stupid do you think we are? Most free software developers are way to smart to fall for a bait'n'switch "the viewer is free, but the really useful software is non-free". It doesn't matter if the payment is monetary or political, losing freedom for functionality is against the free software way. Once you stop thinking of non-free software as ethical, I think you'll find this position easier to comprehend. In general, popularizing a platform is not in the free software community's interest, unless the killer app for this platform (which looks to be NRDB Pro) is also free.

You stated: "Whilst free software in itself cannot help to make a better life for people in developing countries, as part of integrated community-based projects it can be provide useful tool for advocacy, planning and education."

Free software already makes life better in many developing countries. As the price of hardware continues to come down, the ready availibility of software either from the internet or CD will increase the efficacy of free solutions. No "integrated community" (under authoritarian control no doubt) will be required. A notebook computer, a solar panel power supply, and a couple of CDs of free software and an individual student or business owner can work by himself or with others.

Notice the largest expense in the above scenario is the solar panel. Prices are coming down steadily on solars cells. Perhaps the above scenario will be limited to locations with adequate electrical supplies.

Your overall ethical position seems to you or your sponsors paid/wrote the software so you are in charge with the inalienable right
to coerce your users. This is the Gates fallacy. I suspect your users will come to desire the benefit (freedom, economic, etc) of free software enough that they will look for other products to use rather than yours.

it advises people to exercise caution in property investment because a house price crash tends to cause a much harsher effect on an economy than a stock market crash of the same magnitude. it also advises that large numbers of people are investing in property because of the low confidence in the stock market.

so... people with little or no knowledge of how to make money in the stock market are instead attempting to transfer their lack of knowledge into another area... uhmm...

anyway: here's a short-list of tips on property investment.

KNOWlEDGE IS THE KEY.

1) improve your credit rating, and then use it. and i don't mean go on a shopping spree. you can typically improve your credit rating by regularly paying off any loans you have IN FULL. if you took out another loan to do that: so what? :)

2) improve your communication and negotiation skills. learn how to approach people, learn the right questions to ask to get the most information from a seller and to put them at ease.

3) find MOTIVATED sellers and offer them win-win deals. there's no point in wasting your time and money on someone who believes that YOU should pay for their £50,000 fitted kitchen that is totally unsuitable for a rental market property and you're going to have to rip it out.

however, approaching someone whose property is about to be repossessed and sold at auction, and offering to take over their mortgage, is a win-win situation for you, them AND their bank. if the house goes to auction, the bank gets peanuts, the seller gets credit black-listed, and you could end up losing a really good property to another bidder.

4) look for "opportunities". a banged-up house that is advertised as "requiring modernisation" is a golden opportunity. after a MINIMAL amount of redecoration, the property's value is increased such that it can be re-mortgaged.

the money so raised can be used to pay the builders.

5) look for government grants!

in the UK, conversion to multiple-occupancy houses can qualify you for grants covering 50% of the renovation and conversion costs.

6) redecorate a property for rental, not for you to live in!

put showers ON the walls not IN the walls. magnolia and eggshell paint. increase the number of rooms, not decrease them. electric ovens NOT gas. combination boilers NOT immersion heaters. light-brown heavy-duty carpet. SIMPLE and MINIMAL pine furniture sufficient to sell the property to tenants with no imagination.

7) look for good mortgage deals.

in the UK, the present buy-to-let mortgage deals offer up to 85% of the property's value, and a 1-to-1 ratio of rental income to mortgage interest payments.

example: a "distressed" property valued at £187,000 requires a deposit of £27,000 on an 85% buy-to-let mortgage. the interest payments would be £650 per month. after doing about £50,000 of work on the property, the value would be increased to about £280,000 - an increase in value of around £90,000. the rent from the four rooms (or as two flats) would be £1,400 per month. and that's EXCLUDING rental of the garage at the back, in a town where parking is at a serious premium!

the rental income on this example property is more than adequate to cover the interest payments on the mortgage and any other finance that was needed for the deposit (don't tell the mortgage company that). and after revaluation and remortgaging, the interest payments could go up to £950 per month and you'd STILL be in profit, with the building work paid for AND the deposit AND your costs.

that's what i mean by having assets that cover your expenses AND generate income that can be used to buy more assets.

Back when I was doing my undergrad work, it was all the rage to create software licenses that forbade use by either:

South Africa, or

Military users

The effective result of these sorts of restrictions was to turn the resulting software into mere curiosities that no one would try to use for anything important because, on the one hand, you couldn't be certain that you wouldn't accidentally break the license, and, on the other hand, it's clear that the license-writer was stronger on "political activism" than on maturity.

Despite the change of regimes in South Africa, the license restrictions presumably still apply.

What has proven more important is the "network effects." Having hordes of licenses motivated by one set of politics or another makes it totally impractical to build up sets of software, such as the packages associated with Linux or *BSD distributions. Every time you introduce another license, particularly one with terms that most will consider capricious, you make it more difficult to construct a distribution. And that turns out to be very important.

the difference is that the pollitics/ethics seem to make sense to a great number people, they not are entirely arbitrary or individual.

In my opinion, the FSF argument for free software is overly based on ethics. Although much is shared among people about right and wrong, people are easisly manipulated on such terms. In addition, people can have the four freedoms of the FSF, and perhaps the 30 million lines contained on a Linux distribution, and yet not be truely in control of their software/computers. This issue of control is not addressed by the FSF, yet if you're not in control of your computer what good is source code?

[mslicker] the difference is that the
pollitics[sic]/ethics seem to make sense to a great number people,
they not are entirely arbitrary or individual.

It's more than that actually. While Stallman might've been motivated by his
own set of ethics, the license he created turns out to be compatible with a
wide range of ethical positions. Stallman, Linus and Raymand can quibble
among themselves over the `correct' ethics for programming, yet still
release software under the same license.