24 January 2007

Brazil's FOSS utopia image at risk

According to the international media, Brazil is a leader in free and open source software (FOSS) adoption. The New York Times describes the country as "a tropical outpost of the free software movement," while BBC News claims that "Increasingly, Brazil's government ministries and state-run enterprises are abandoning Windows in favour of 'open-source' or 'free' software." However, FOSS advocates familiar with Brazil describe a less hopeful situation.

document.write(''); dfp_tile++;

They talk about unsystematic support by the government, and a business atmosphere in which mention of FOSS is more about hype than understanding the underlying philosophy. They say violations of the GNU General Public License are commonplace. Some genuine FOSS adoption does happen, they say, but, too often, it is marred by inefficiency, and possibly widespread corruption.

During the first term of the government of Luiz Inacio Lula da Silva, which began in 2003, FOSS adoption was announced as a major policy. In addition to encouraging federal and state governments to switch to FOSS, Silva's government also used FOSS in PC Conectado, a program to make inexpensive computers available to the Brazilian public. The announcements of these initiatives created the impression internationally that Brazil would soon become an example of FOSS adoption to the rest of the world.

However, not only is the potential of this promising start yet to be realized, but there are signs that pro-FOSS policies are stalling. When Silva was re-elected in late 2006, his party's platform contained only one brief reference to free software -- a general promise to "improve direct and remote service-rendering to citizens, simplifying procedures, training civil servants and broadening the technological base, including the utilization of free software." Nothing of the earlier widespread plans for FOSS was in evidence. Possibly, this de-emphasis of FOSS is due to increased opposition by proprietary software interests, such as those trying to mount a constitutional challenge in the state of Rio do Sol against a law giving preference to FOSS solutions in the government.

Whatever the case, Brazilian advocates have learned to be skeptical about claims for FOSS. For example, although Conectiva (now part of Mandriva) widely publicized a deal with systems integrator Positivo that resulted in more than 90,000 computers shipped with Conectiva installed, Debian developer Gustavo Franco suggests that "almost all the users installed Microsoft Windows copies over that." Franco does not substantiate the claim, but his point is that lower-income Brazilians do not want free software as much as what they see on TV or in ads. Even if his suggestion is not completely true, it reflects the wariness that advocates have learned through bitter experience.

Interest in FOSS still exists throughout Brazil, but signs of progress are hard to see in 2007. "There're a lot of people doing almost nothing but talking a lot," says Debian developer Otavio Salvador.

Hype over quality

Some signs of FOSS adoption are still visible through Brazil, but FOSS observers are concerned about the quality of the code being released and where the efforts are being applied.

Gustavo Noronha Silva, another Debian developer, notes that the federal planning ministry is developing an inventory system called CACIC under the GNU General Public License in partnership with a public company called Dataprev. "The code is not that great," he says, "but they're bringing the free software concepts into the government, and are releasing real code and maintaining it."

Similarly, the Instituto Nacional de Tecnologia da Informaçã a government software company, and SERPRO, Brazil's official federal data processing service, have developed some free software courses and assisted in the migration of some government departments to FOSS. "I took part in some of this process when I was managing the IT of one of the ministries," says Silva, "and I could see that their job was very poor quality-wise, and with no planning at all."

Silva cites one case in which source packages were built on top of installed Debian packages and mixed Debian workstations with Windows-based rdesktop connections, and another in which email services were migrated without concern for the existing infrastructure. "They have done lots of damage," Silva says.

In another case, CAIXA, one of Brazil's largest public banks, implemented its own Debian-based operating system. Silva says that the system "basically breaks if you try to upgrade it, so it's impossible to use sanely on servers" -- although that is where CAIXA is using it. He notes, however, that the release of the software was announced "in a big conference with lots of IT heads of the government." Silva's concern is that such efforts will discredit the whole concept of FOSS because of their poor performance, and represent a triumph of marketing over technical considerations.

Similarly, Franco is concerned about government plans to buy laptops from the One Laptop Per Child project. "I think the project is a good idea," Franco says, "but the government's goal is to put the laptops in the teachers' hands" rather than distributing them to lower-income citizens as the project intends.

Franco also mentions rumors that some of the other attempts to deliver cheaper computers in Brazil "bundle dubious quality hardware with a random Linux distribution that doesn't fully support the hardware."

Silva's and Franco's concerns are that such efforts will discredit the whole concept of FOSS through missteps and poor performance. The fact that some government initiatives are being funded by multinational companies such as IBM and Cisco could only add to the disaster for FOSS. "The FLOSS hype in Brazil is a marketing thing," Franco writes in his blog, and, privately, Silva echoed the sentiment to NewsForge.

The software but not the spirit

Advocates are even more concerned about the priorities behind FOSS adoption. The concept of free software has so many positive connotations that both governments and private companies wish to be associated with it. Yet, in practice, many seem more concerned with the free cost than the philosophy of freedom. In many Brazilian FOSS projects, Franco blogs, "Nobody out of the project office (when there's a real one) ever see the source code," even though sharing code is at the heart of the FOSS communities.

In fact, many companies developing and selling free software in Brazil appear to be in violation of section 3 of the GNU General Public License (GPL), which requires them to either make their source code available, or to offer publicly to provide it. Such companies include Kurumin, a distribution widely installed by new users, as well as Poseidon and Kalango, two Kurumin derivatives, Blane, and Dual O/S (formerly Freedows). None of these distributions appears to offer source code anywhere on its site.

According to Franco, the reason that Kurumin does not provide source code is that its developers claim that the distribution uses only original Debian sources. "This isn't true," Franco insists. However, even if it were, the distributions would still be obliged to provide their own source code. Many other distributions in the same position have been found in non-compliance by the Free Software Foundation, and there is no reason to think that Kurumin or any of these other Brazilian distributions would be exceptions.

Moreover, Franco notes that Kurumin's end-user agreement contains a provision stating that users who sue the distribution's developers "lose the right to use 'their software.'" Similarly, Dual O/S includes an evaluation copy that expires after 240 hours of use. Both these restrictions seem to violate additional aspects of the GPL, including Section 4's against sublicensing and Section's 6 requirement that distributors pass on the GPL's rights to subsequent users.

Franco also mentions Plurall, a thin client project, as being in violation of the GPL for not releasing source code. However, Ricardo Prado Schneider of emrede, the non-government organization developing Plurall, tells NewsForge that a repository containing the source code will be available shortly.

FOSS advocates are concerned that, rather than addressing such issues, Brazilian companies and projects are attempting to redefine free software for their own purposes. Silva points to the license developed by the state of Paraná, which is incompatible with the Free Software definition. The FSFLA, the South American sister organization of the FSF, is trying to get the license altered, but comments like those of Omar Kaminski, one of the drafters of the license, that the "GPL is incompatible with Brazilian legislation," and that "perhaps free software in Brazil is moving in a different direction than in the USA" do little to reduce the concerns of FOSS advocates.

Franco worries that, should present trends continue, the FOSS movement in Brazil "won't be a community-oriented one, but something being managed by a well-paid company. Details and source code won't be available. In a way it's already happening, but on a smaller scale."

Corrupt or unaware?

Some FOSS efforts in Brazil do appear to be genuine. Silva cites Mandriva as an example. The Insigne distribution also seems to be in compliance with the GPL, and, although earlier releases were of poor quality, the latest one is said to be significantly improved. Silva also suggests that many individual Brazilians are making contributions to free software, although they are mostly ones "who were doing their work before the hype came up."

"A lot of government institutions, NGOs, and companies are using the FOSS appeal and its arguments with the masses to do what a Brazilian does best (after playing soccer)," Franco says bluntly: "Corruption."

By contrast, Silva feels that the problem "is mostly related to free riders and people who are good at communicating stuff that they don't actually do. I wouldn't go so far as implying corruption. I have seen no evidence of such a thing related to free software. I'd mention incompetence, free riding, and unawareness, though."

Still, one thing is certain: the image of Brazilian FOSS in the rest of the world is out sync with what is happening. "What's being told to the world isn't exactly the real truth," Franco says.


I'm brazilian, and here in Brazil some facts are true.. but some are in a distant reality. People outside don't realize the size of media involved on this. That's not so big. There's a lot of investments in open-source but... not so much.

20 January 2007

OS/2 Today

Well... This subject are *a lot* boring, but I'm tired to listen that "OS/2 have the best tcp/ip even nowadays" and "OS/2 have a perfect stack and no one make something near". This is a lot stupid, and so, IBM now are devel stuff for linux and a lot of your hardware runs linux internally. Defend this is stupid. OS/2, even in 90s doesn't have the best tcp/ip stack.

Even with a dead OS, there's a lot of people crying with this arguments, but... like 70% of freebsd users, all people defending unfundable stuff use windows as your primary OS. All arguments are based in hipocrisy.

But lets talk about OS/2:

  • Single input queue (SIQ): if a GUI application was not servicing its window messages, the entire GUI system could get stuck and a reboot was required.

  • No unified command line: OS/2 divided programs into strict categories and communication between programs of different categories was problematic: It was not possible to enter fullscreen mode from a "windowed OS/2 session"; a separate "fullscreen OS/2 session" was required, which could not be made windowed. It was not possible to run DOS or Windows programs from an OS/2 session: a specific "DOS session" was required. From this DOS session (which could be toggled fullscreen) it was not possible to start OS/2 programs.Therefore transparent piping of data was not possible. Worse, in the absence of 8.3 aliases for filenames and directories and DOS API extensions supporting long filenames, it was also problematic to give DOS programs access to files managed from OS/2 programs. Even native OS/2 programs had problems communicating: a command-line program could not fully access the system clipboard, which was reserved for "GUI" programs.

  • Workarounds consisted in creating special helper programs (for example an invisible GUI program just for accessing the clipboard) or in using client-server setups, where the client and the server were different types of programs, but communicated using some available way. Just as OS/2 1.x, the 32-bit system was apparently designed with the idea that users would rapidly make a switch to all-native programs.

  • No unified object handles. The availability of threads probably lead system designers to overlook mechanisms which allow a single thread to wait for different types of asynchronous events at the same time, for example the keyboard and the mouse in a "console" program. Even though select was added later, it only worked on network sockets. In case of a console program, dedicating a separate thread for waiting on each source of events made it difficult to properly release all the input devices before starting other programs in the same "session". As a result, console programs usually polled the keyboard and the mouse alternatively, which resulted in wasted CPU and a characteristic "jerky" reactivity to user input. In OS/2 3.0 IBM introduced a new call for this specific problem.

  • No unified virtual memory and disk cache. Modern operating systems can use the entire available RAM for disk caching and can map files into the address space of processes. OS/2 had a dedicated memory pool for disk caching and could not map files. This could result in decreased performance and RAM waste.