This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Friday, December 7, 2007

Spy Versus Antispy

There are times when, after spending hours testing one antispyware utility after another, I dream of the perfect testing lab, where dozens of intense young men and women clad in crisp white lab coats capture and dissect every variety of spyware. Using rows and rows of secured test computers, they torture-test antispyware programs to determine whether the apps actually remove the sample threats they unleash and—better yet—whether they can keep the darn things off a clean system.

The reality isn't quite as glamorous. I'm my own lab "staff," and my rows of machines are virtual ones . I can't reasonably test every spyware threat out there, so I rely on a strong, representative sampling. The results are reliable and reproducible, even though I don't have a huge staff of lab-coated assistants.

Spyware samples start to stink after a while: The longer they've been around, the more likely that even the most mediocre antispyware program will handle them (if you've bothered to install one—which isn't always the case, as we've recently shown). So several times a year, I throw them all out and gather a new collection. I start by asking a large group of security vendors to recommend some especially nasty threats, along with where to download each one so I can get them fresh off the Web. Once the vendors have weighed in, I compile their recommendations into one big list and use it to choose a representative selection, making sure to use something from every vendor. Items that are suggested multiple times almost always make the cut.

I also test the products against commercial keyloggers--programs that secretly record your keystrokes and other actions—for a number of reasons. First of all, most antispyware products specifically claim to remove keyloggers, along with spyware, adware, Trojans, and other types of malware. In fact, there were quite a few keyloggers in the list of vendor recommendations for malware samples. These threats are among the most dangerous as far as actual spying goes. They can capture passwords, financial data, or any personal information--instant identity theft! On the other hand, you're less likely to encounter one of these since most can only be installed by someone with physical access to your computer. When analyzing a product's performance, I give commercial keyloggers significantly less weight.

Then I put my virtual machines to work, loading three or four of the selected threats onto each one (since a real-world infested system usually has multiple problems). In theory, testing a security program's spyware removal feature is fairly straightforward. I simply install it on all the test machines and run the deepest scan available. Whatever it asks of me, I do. If it wants to reboot and rescan, even several times, I do it. If it asks to restart in Safe Mode and scan, I do that. If it wants me to fetch an iced latte, off to Starbucks I go (okay, maybe I just do that last part because I feel like it). Then, when the hubbub is over, I check to see if it really did remove the malware—and that's where things get hairy.

Some of the samples are big, blaring, oafish things, plastering my screen with so many overlapping pop-ups that I can hardly find the button to start a scan. Others shoehorn unwanted toolbars into my Web browser, or add desktop icons that won't stay deleted. When that kind of behavior stops, it's pretty clear something is gone. But what about the sneaky stuff that isn't visible? Or the rootkit-based threats that hide so even Windows can't see them? When it comes to making sure the threats are gone, the sleuthing involved is almost fun. Almost.

Tracking spyware requires a bit of prep. First, I boot up a clean virtual machine and launch utilities that monitor changes to the Registry, file system, and active processes. (I'm not naming the utilities, because I don't want to give away all the ingredients in the secret sauce!) Next, I release the sample spyware and let it do its worst. The monitoring utilities produce a flood of information—way more than I can use—so I wrote a custom filter program that discards the obvious dreck and presents the rest in a form that's easy to eyeball. It also lets me cherry-pick the file and Registry traces that are clearly related to the spyware installation and store those in a database. I don't try to record every single trace, just a representative sampling for a spot-check (some spyware apps install dozens of traces). After a spyware removal scan, another handmade program cross-checks that database, alerting me if any of those traces were left behind. If an app leaves a few nonexecutable files behind, I let it slide—as long as there's nothing left that can do anything.

Validating a program's ability to keep spyware from infecting a clean system is easier. I start by installing the app in question on a virtual machine and recording a snapshot of the protected system. Then I revert the VM to that snapshot each time I release a new spyware sample. If there's any doubt that the antispyware blocked it, I can run the spot-check program to verify.

Friday, November 30, 2007

Why EMR so expensive ?

Many doctors ask: Why is EMR so expensive? This question as it appears can seem simple in nature. While exploring this topic, you can find so many variations in the EMR products' features and functions. In most cases, a large or majority of the total cost of an EMR is in the training and implementation services, not in the software. But in many cases products will include more features than one needs or the manufacturer of the product is generally focused on larger sized groups making it more expensive for smaller ones. Additionally, as a practice, the question of technical proficiencies needs to be addressed. If a product is more technically advanced than the user, the user will not receive the full usage of the application. If the product is not being used to its full functionality, nobody wins. If this happens, the practice is not satisfied, and the vendor now has an unsatisfied end user. This is why matching up the practice with the right EMR is so critical. The opposite effect can be just as frustrating.

Cost is a fact in the investment of an EMR. An entry level EMR can cost as little as $3,000, and advanced level EMRs can cost over $100,000, even for a solo physician practice. The word “expense” should be replaced with the word “investment”. Once a practice has converted to the EMR, they can now look back and understand the difference in those two, very different words. When the EMR is running at full functionality, the practice becomes very efficient. No more hunting for paper charts. A single “click” of the mouse, and the patient’s entire record is in the hands of the appropriate user. Multiple users can access the same record simultaneously as well; allowing for greater productivity. The investment now begins to pay dividends.

Which is better an integrated EMR system or a modular EMR? Having a portion of the practice automated can be a benefit, just as it can be a challenge to overcome. There are many EMR vendors that have a Practice Management application built into their system. Many of these products can be a total replacement of existing applications, usually a older medical billing software. Be advised that not all EMR vendors have the capability to integrate with an existing software product. This is all very important to identify prior to committing to an EMR vendor. Running separate systems simultaneously can bring much unneeded frustration if not appropriately integrated in the beginning as you will need to deal with two different companies for technical support. The number of modules that can be integrated can vary significantly from vendor to vendor. Consideration of the charge for an HL7 (as explained earlier in this document) interface should also be taken into account. The interface between your existing system and your new EMR can often cost as much as $5000 making it often more financially viable to purchase an integrated system from the beginning.

These are just some of the many things to consider when selecting an EMR solution for your office. For more information on Electronic Medical Record software solutions please visit www.emr-solution.com.

Spyware Evolve

The ability to detect spyware is becoming more and more important in today's world. Ditto for the use of spyware removal tools.

Did you know that recently a Trojan Horse program was developed and used for industrial espionage?

The Trojan Horse was used in the illegal hacking into scores of computers in Israel, including computers belonging to large and leading companies. The companies involved did not know how important it was to have a spyware removal tool or tools to detect spyware. The perpetrators developed spyware programs that extracted computer files and entire directories from infected computers. This material was then sent to servers abroad. The spyware was sold to private investigators, which offered their industrial espionage services to various companies.

In this case, the perpertrators (a husband and wife team!) were eventually caught and deported. But by that time, the damage had already been done. Those corporations that had been victimized already had their sensitive corporate secrets floating around in cyberspace and who knows where else! If they had known how to detect spyware, they might be much better off.

In another case, a routine Internet activity report that was run on a large company's computer users revealed that some computers were logging thousands of hits a day to the same IP address. The web site had nothing to do with the company, and the network administrator at first thought that employees were conducting their personal business on the internet or otherwise slacking off.

After rather intense investigation, and a routine check to detect spyware, it was revealed that spyware was tracking employees computer usage habits and was sending the information back to a third party website automatically. This company used a combination of a spyware removal tool and restricting internet access to prevent this happening to them again.

Even in large corporate environments, spyware can cause tremendous damage - it can compromise data security Spyware and significantly slow down computer performance.

The lesson here is this: if spyware/malware can compromise even the most sophisticated business computer systems, then those of us who have small businesses and even more to lose cant afford to take our internet security lightly!

Taken from spyware site.

Wednesday, November 21, 2007

Software patents – Obstacles to software development (Part 3)

So that is the possibility of licensing a patent which may or may not be possible and you may or may not be able to afford it.

3) Overturning a patent in court

Supposedly, in order to be patented, something has to be new, useful and unobvious. That is the language used in the US. I think other countries have different language which is pretty much equivalent to it. Of course, when the patent office gets into the game, they start interpreting new and unobvious. New turns out to mean we don't have it in our files and unobvious tends to mean unobvious to someone with an IQ of 50.

Somebody who studies most of the software patents issued in the US, or at least he used to, I don't know if he can still keep up with them, said that 90% of them wouldn't pass the crystal city test, which meant if the people in the patent office went outside to the news stand and got some computer magazines, they would see that these ideas are already known.

The patent office does things that are so obviously foolish, you wouldn't even have to know the state of the art to see they are foolish. This is not limited to software. I once saw the famous Harvard mouse patent which was obtained after Harvard genetically engineered a strain of mouse with a cancer causing gene. The cancer causing gene was already known and was inserted using known techniques into an already existing strain of mouse. The patent they got covered inserting any cancer causing gene into any kind of mammal using any method whatsoever. You don't have to know anything about genetic engineering to realize that is ridiculous.

I am told that this over claiming is normal practice and that the US Patent Office sometimes invited patent applicants to make their claims broader. Basically make the claims broader until you think they are running into something else that's unambiguous prior art. See how much land grab in mental space you can get away with.

38:20

When programmers look at a lot of software patents, they say this is ridiculously obvious! Patent bureaucrats have all sorts of excuses to justify ignoring what programmers think. They say "Oh! but you have to consider it in terms of the way things were 10 or 20 years ago". Then they discovered that if they talk something to death then you can eventually lose your bearings. Anything can look unobvious if you tear it apart enough, analyze it enough. You simply lose all standard of obviousness or at least lose the ability to justify any standard of obvious or unobvious. Then, of course, they describe the patent holders as brilliant inventors, all of them. Therefore we can't question their entitlement to power over what we can do.

If you go to court, the judges are likely to be a little more stringent about the idea of what is obvious or not. But the problem is that it costs millions of dollars to do that. I heard of one patent case, the defendant I remember was Qualcomm, and I believe the ruling was ultimately 13 million dollars of which most went to pay the lawyers on both sides. There were a few million dollars left over for the plaintiff, because they lost.

To a large extent, the question of the validity of a patent will depend on historical accidents. Lots of historical accidents such as precisely what was published when and which of those things somebody manages to find. Which of them didn't get lost, precise dates and so-on. Many historical accidents determine whether a patent is valid. In fact, it is a weird thing that the British Telecom following hyper links together with telephone access patent, I think, was applied for in 1975. I think it was in 1974 that I developed the info package for the first time. The info package allows you to traverse hyper links and people did use telephones to dial up and access the system. So in fact, I produced a piece of prior art for that patent. So that is the second patentable idea I have had in my life, but I don't think I have any proof of that. I didn't think this was interesting enough to publish it. After all, the idea of following hyper links I got from the demo of Engelbart's editor. He is the one who had an idea which was interesting to publish. What I done I called poor mans hypertext as I had to implement it in the context of TECO. It was not as powerful as his hypertext but it was at least useful for browsing documentation, which it all it was meant for, and as for there being dial-up access to the system, well, there was, but it didn't occur to me that the one had anything particular to do with the other. I wasn't going to publish a paper saying "Oh! I implemented this poor man's hypertext, and guess what! There are dial-up lines on the computer too!" I suspect there is no way to tell precisely on what dates I implemented this. And was it published in any sense? Well, we invited guests to come in across the ARPAnet, and log in on our machine, so they could have browsed documentation using info and seen the thing. If they had asked us, they would have found we have dial-up access. But as you can see, historical accident determines whether you have prior art.

Now of course, there is a publication made by Engelbart about hypertext, which they are going to show. I don't think it says anything about having dial-ups on the computer however, so whether it will suffice is not clear. So, this is an option, the possibility of going to court to overturn the patent.

Because of the expense, it is often out of the question even if you can find solid prior art that ought to be sufficient to overturn the patent. As a result, an invalid patent, a patent that nominally shouldn't have existed (but in fact lots and lots of them do) is a dangerous weapon. If somebody attacks you with an invalid patent, that can really cause a lot of trouble for you. You might be able to bluff them away by showing them the prior art. It depends upon whether they can get scared off that way or they might think "well, you are just bluffing, we figure you can't really go to court, you can't afford it so we'll sue you anyway".

43:50

All of these three possibilities are things that sometimes you can manage to use, but often you can't. So you have to face patent after patent after patent. Each time you may be able to find one of these three possibilities you can use, then there is another patent then another and another. It gets like crossing a minefield. Each step you take, each design decision, probably won't step on a patent, so you can take a few steps and probably there won't be an explosion. But the chance you will get all the way through the minefield and get to develop the program you want to develop without ever stepping on a patent gets less and less as the program gets bigger.

Now, people used to say to me, "Well, there are patents in other fields, why should software be exempt?". Note the bizarre assumption in there that somehow we are all supposed to suffer through the patent system. It is like saying "Some people get cancer. Why should you be exempt?" As I see it, each person who doesn't get cancer is good. But there is, behind that, a less biased question, which is a good question which is: Is software different from other fields? Should patent policy be different in different fields? If so, why?

Let me address that question: patents relate to different fields differently because in various fields patents relate to products differently.

On one extreme we have pharmaceuticals where a given chemical formula would be patented, so that patent covers one and only one product. Some other product wouldn't be covered by the existing patent. If there is to be a patent for this new product, the patent holder would be whoever developed the new product.

That fits in with the naive idea of the patent system that we have, that if you are designing a new product, you are going to get "The Patent". The idea that there is one patent per product and that it covers the idea of that product. In some fields it is closer to being true. In other fields it is further from being true. This is because software packages are usually very big. They use many different ideas in a new combination. If the program is new and not just copied, then it is probably using a different combination of ideas combined, of course, with newly written code, because you can't just magically say the names of these ideas and have them work. You have to implement them all. You have to implement them all in that combination. The result is that even when you write a program, you are using lots of different ideas, any one of them might be patented by somebody. A pair of them may be patented as a combination by somebody. There might be several different ways of describing one idea which might be patented by various different people. So there are possibly thousands of things, thousands of points of vulnerability in your program, which might be patented by somebody else already. This is why software patents tend to obstruct the progress of software- the work of software development. If it were one patent-one product, then these patents wouldn't obstruct the development of products because if you developed a new product, it wouldn't be patented by somebody else already. But when one product corresponds to many different ideas combined, it becomes very likely your new product is going to be patented by somebody else already. In fact, there is economic research now showing just how imposing a patent system on a field where there is incremental innovation, can retard progress. You see, the advocates of software patents say "well yes, there may be problems but more important than any problems, the patents must promote innovation and that is so important it doesn't matter what problems you cause". Of course, they don't say that out loud because it is ridiculous but implicitly they want you to believe that as long as it promotes progress, that outweighs any possible cost. But actually, there is no reason to believe it does promote progress. We now have a model showing precisely how patents can retard progress. The case where that model can fit describes the software field pretty well; Incremental innovation.

49:02

Why is software on that extreme of the spectrum? The reason is that in software we are developing idealized mathematical objects. You can build a complicated castle and have it rest on a thin line and it will stay up because it doesn't weigh anything. In other fields, people have to cope with the perversity of matter- Of physical objects. Matter does what it is going to do. You can try to model it and if the actual behavior doesn't fit the model then tough on you, because the challenge is to make physical objects that really work.

If I wanted to put an 'If' statement in a 'While' statement, I don't have to worry about whether the 'If' statement will oscillate at a certain frequency and rub against the 'While' statement and eventually they will fracture. I don't have to worry whether it will oscillate at a certain higher frequency and induce a signal in the value of some other variable. I don't have to worry about how much current that 'If' statement will draw and whether it can dissipate the heat there inside that while statement. Whether there will be a voltage drop across the while statement that will make the 'If' statement not function. I don't have to worry that if i run this program in a salt water environment that the salt water may get in between the 'If' statement and the 'While' statement and cause corrosion. I don't have to worry when I refer to the value of a variable whether I am exceeding the fan-out limit by referring to it 20 times. I don't have to worry, when I refer to the variable, how much capacitance it has and whether there has been sufficient time to charge up the value. I don't have to worry when I write the program, about how I am going to physically assemble each copy and whether I can manage to get access to put that 'If' statement inside the 'While' statement. I don't have to worry about how I am going to gain access in case that 'If' statement breaks, to remove it and replace it with a new one. So many problems that we don't have to worry about in software. That makes it fundamentally easier. It is fundamentally easier to write a program than to design a physical object that's going to work. This may seem strange because you have probably heard people talking about how hard software is to design and how this is a big problem and how we are going to solve it. They are not really talking about the same question as I am. I am comparing physical and software systems of the same complexity, the same number of parts. I am saying the software system is much easier to design than the physical system. But the intelligence of people in these various fields is the same, so what do we do when we are confronted with an easy field? We just push it further! We push our abilities to the limit. If systems of the same size are easy, let's make systems which are ten times as big, then it will be hard! That's what we do! We make software systems which are far bigger in terms of number of parts than physical systems. A physical system whose design has a million different pieces in it is a mega project. A computer program whose design has a million pieces in it, is maybe 300,000 lines, a few people will write that in a couple of years. That is not a particularly giant program. GNU Emacs now has several million pieces in its design I think. It has a million lines of code. This is a project done with essentially no funding whatsoever. Mostly done by people in their spare time.

There is another big saving. If you have designed a physical product, the next thing you have to do is design the factory to make it. To build this factory may cost millions or tens of millions whereas to make copies of the program, you just have to type 'copy'. The same copy command will copy any program. You want copies on CD then fine. You burn a master CD and send it off to a CD plant. They will use the same equipment which will copy any contents on a CD. You don't have to build a factory to make this product. There is tremendous simplification and tremendous reduction in costs of designing things. The result is, say for an automobile company, who will spend 50 million dollars to build a factory, to build a new model of auto, they can hire some lawyers to cope with patent license negotiations. They can even cope with a law suit if they wanted to. To design a program of the same complexity may cost 50 thousand or 100 thousand dollars. By comparison, the cost of dealing with the patent system is crushing. Or actually designing a program with the same complexity as the mechanical design of an auto is probably a month's work. How many parts does an auto have.. that is if it is an auto which doesn't have computers in it. There are not that many parts. That is not to say designing a good one is easy but just that there are not that many different things in it.

The result is software really is different from other fields because we are working with mathematical stuff designing something is far, far easier and the result is that we regularly make systems which are much, much larger and do so with just a few people. The result is that the patent system then instead of being close to one product, one patent, we are in a system where one product involves many, many ideas which could be patented already.

56:00

The best way to explain it by analogy is with symphonies. A symphony is also long and has many notes in it, and probably uses many musical ideas. Imagine if the governments of Europe in the 1700's had decided they wanted to promote the progress of symphonic music by establishing a European Musical Patent Office that would give patents for any kind of musical ideas which you could state in words. Then imagine it is around 1800 and you are Beethoven and you want to write a symphony. You will find that getting your symphony so that it doesn't infringe any patents is going to be harder than writing a good symphony. When you complain about this, the patent holders would say "Ah Beethoven, you are just bitching because you have no ideas of your own. All you want to do is rip off our inventions". Beethoven, as it happens, had a lot of new musical ideas but he had to use a lot of existing musical ideas in order to make recognizable music. In order to make music that listeners could possibly like, that they could recognize as music. Nobody is so brilliant that he can re-invent music and make something that people would want to listen to. Pierre Boulez said he would try to do that, but who listens to Pierre Boulez? Nobody is so brilliant he can re-invent all of computer science, completely new. If he did, he would make something that the users would find so strange that they wouldn't want to use it. If you look at a word processor today, you would find, I think, hundreds of different features. If you develop a nice new innovative word processor, that means there are some new ideas in it, but there must be hundreds of old ideas in it. If you are not allowed to use them, you cannot make an innovative word processor.

Because the work of software development is so big, the result is that we don't need any artificial scheme to incentivize new ideas. You just have people writing software and they will have some new ideas. If you want to write a program and you want to make it good, so some ideas will come to you and some you will see a way to use. What used to happen, because I was in the software field before there were software patents, was most of the developers would publish any new ideas that they thought were noteworthy, that they thought that they might get any credit or respect for. The ideas that were too small or not impressive enough, they would not publish because that would be silly. Now the patent system is supposed to encourage disclosure of ideas. In fact, in the old days, nobody kept the ideas secret. They kept the code secret, it's true. The code, after all, represented the bulk of the work. They would keep the code secret and publish the ideas so that way the employees would get some credit and feel good. After software patents, they still kept the code secret and they patented the ideas, so in fact, disclosure has not been encouraged in any meaningful sense.

The same things are kept secret now as what were kept secret before, but the ideas which used to be published so that we could use them are now likely to be patented and off-limits for 20 years. What can a country do to change this? How should we change the policy to solve this problem?

There are two places you can attack it. One is the place where patents are being applied for and issued, in the patent office. The other is when patents are being applied- that is, the question of what does a patent cover.

Changing the criteria for issuing patents or simply keeping a good criteria for issuing patents, can work in a country which has not authorized software patents before, for instance, for the most part, in Europe. Simply to clearly re-enforce the European Patent Office's rules which say that software is not patentable. This is a good solution for Europe. Europe is now considering a directive on software patents. The directive I suppose may be broader than that but one of its important implications is for software patents. Simply by modifying this to say software ideas cannot be patented will keep the problem out of Europe for the most part, except for some countries that may have admitted the problem on their own. Unfortunately one of them being the UK. Unfortunately for you.

That approach won't work in the US. The reason is that the US already has large numbers of software patents and any change in the criteria for issuing patents won't get rid of the existing ones. In fact, these patents are not officially labeled as software patents. I say software patents but what do I really mean? Patents which might potentially apply to software. Patents which might potentially get you sued for writing software. The patent office doesn't divide patents into software patents and other patents. So, in fact, any patent might conceivably get you sued for writing software if it could apply to some software. So in the US the solution would have to be done through changing the applicability, the scope of patents saying that a pure software implementation running on general purpose computer hardware which does not in itself infringe the patent, is not covered by any patent and you cannot get sued for it. That is the other kind of solution.

The first kind of solution, the solution that operates on what types of patents can be valid is a good solution for Europe to use.

When the US started having software patents, there was no political debate. In fact, nobody noticed. The software field, for the most part, didn't even notice. There was a supreme court decision in 1981 which considered a patent on a process for curing rubber. The ruling was that the fact that the apparatus included a computer and a program as part of the process to cure the rubber did not make it un-patentable. The appeals court the next year which considers all patent cases, reversed the qualifiers. They said the fact that there is a computer and a program in this makes it patentable. The fact that there is a computer and program in anything makes it patentable. This is why the US started having business procedure patents. This is because the business procedures were carried out on a computer and that made them patentable. So this ruling was made and I think the natural order recalculation patent was one of the first or might have been even the first. Throughout the 80's we didn't know about this.

It was around 1990 that programmers in the US started to become aware that they were faced with a danger from software patents. So i saw how the field worked before and how the field worked after. I saw no particular speed up in progress after 1990. There was no political debate in the US, but in Europe there has been a big political debate. Several years ago there was a push to amend the Munich treaty that established the European Patent Office. It has a clause saying that software is not patentable. The push was to amend that to start allowing software patents. But the community took notice of this. It was actually free software developers and free software users who took the lead.

We are not the only ones threatened by software patents. All software developers are threatened by software patents and even software users are threatened by software patents. For instance, Paul Heckel, when Apple wasn't very scared of his threats, he threatened to start suing Apple's customers. Apple found that very scary. They figured they couldn't afford to have their customers being sued like that, even if they would ultimately win. So the users can get sued too, either as a way of attacking a developer or just as a way to squeeze money out of them on their own or to cause mayhem.

All software developers and users are vulnerable. But it was the free software community in Europe that took the lead in organizing opposition. In fact, twice now the countries that govern the European Patent Office voted not to amend that treaty. Then the EU took a hand and the directorates of the EU were divided on the issue.

The one whose job is to promote software is against software patents it seems. They were not in charge with this issue. It is the open market directorate who is in charge and is lead by somebody who is in favor of software patents. They basically disregarded public opinion which has been expressed to them. They have proposed a directive to allow software patents. The French government has already said they are against it. People who are working in various other governments in Europe to oppose software patents and it is vital to start doing so here.

According to Hartmut Pilch, who is one of the leaders in the European struggle against software patents, the main impetus comes from the UK Patent office. The UK Patent Office is simply biased in favor of software patents. It had a public consultation and most of the responses were opposed to software patents. They then wrote a report saying that people seem to be content with them, completely disregarding the answers. You see, the free software community said please send the answers to them and please send your answers to us too and we'll publish them. So they published these answers which were generally opposed. You'd have never guessed that from the report that the UK Patent Office published.

They (the UK Patent and Trademark Office) use a term that they call technical effect. This is a term which can stretch tremendously. You are supposed to think it means a program idea would only be patentable if it relates closely to specific physical activities. If that is the interpretation, it would mostly solve the problem. If the only software ideas that can be patented were those that really did relate to a particular technical, specific physical result that you might have patented if you didn't use a program, that would be OK. The problem is that you can stretch that term. You can describe the result you get by running any program as a physical result. How does this physical result different from every other? Well it is as a result of this computation. The result is that the UK Patent Office is proposing something that looks like it leads to mostly solving the problem and really gives carte blanche for patenting almost anything.

The people in the same ministry are also involved in the copyright issue which really has nothing to do with software patents except that it is being handled by the same people. It is a question of interpreting the recent EU copyright directive, a horrible law like the Digital Millennium Copyright Act in the US. But there is some latitude for countries to decide how to implement it. The UK is proposing the most draconian possible way of implementing this directive. You could greatly reduce the harm that it does by implementing it properly. The UK wants to maximize the tyrannical effect of this directive. It seems there is a certain group, the Department of Trade and Industry, who need to be reined in. It is necessary to put a check on their activities. Stop their creating new forms of power.

Software patents tie up every software developer and every computer user in a new in a new form of bureaucrat. If the businesses that use computers realized how much trouble this can cause for them, they would be up in arms and I am sure they can stop it. Business doesn't like being tied up in bureaucracy.

Sometimes, of course, it serves an important purpose. There are some areas where we wish the UK government did a more careful job in tying certain businesses up in bureaucracy, like when it involves moving animals around. But in some cases, when it doesn't serve any purpose except to create artificial monopolies so that somebody can interfere with software development, squeeze money out of developers and users, then we should reject it.

We need to make management aware of what software patents will do to them. Get their support in fighting against software patents in Europe.

The battle is not over. It still can be won.

Copyright © 2002 Richard Stallman.

Tuesday, November 20, 2007

Software patents – Obstacles to software development (Part 2)

Now, that you have a predictable terrain for doing business(!) what are you going to do? Well, there are three approaches that you might try. Any of which is applicable in some cases.

They are

  1. Avoiding the patent
  2. Licensing the patent
  3. Overturning the patent in court.

Let me describe these three approaches and what makes them workable or unworkable.

14:35

1) Avoiding the patent

That means don't use the idea that the patent covers. This can be easy or hard, depending on what that idea is. In some cases, a feature is patented. Then you avoid the patent by not implementing that feature. Then it just matters how important is that feature. In some cases, you can live without it. A while ago, the users of the word processor XyWrite got a downgrade in the mail. The downgrade removed a feature which allowed you to pre-define abbreviations. That when you typed an abbreviation followed by a punctuation character, it would immediately replace itself with by some expansion. So that way you could define the abbreviation for some long phrase, type the abbreviation then the long phrase will be in your document. They wrote to me about this because they knew the Emacs editor has a similar feature. In fact, it had it since the 70's. This was interesting because it showed me that I had at least one patentable idea in my life. I knew it was patentable because somebody else patented it afterward! Actually, they had tried these various approaches. First they tried negotiating with the patent holder, who turned out not to negotiate in good faith. Then they looked at whether they could have a chance of overturning the patent. What they decided to do was take out the feature. You can live without this feature. If the word processor lacks only this feature, maybe people will still use it. But as various features start getting hit, eventually you end up with a program people think is not very good and they are likely to reject it. That is a rather narrow patent on a very specific feature.

16:51

What do you do with the British Telecom patent on traversing hyper links together with dial-up access? Traversing hyper links is absolutely essential to a major use of computers these days. Dial-up access is also essential. How do you do without this feature, which, by the way, isn't even one feature, it is really a combination of two just arbitrarily juxtaposed. It is rather like having a patent on a sofa and television in the same room.

Sometimes the idea that's patented will be so broad and basic that it basically rules out an entire field. For instance, the idea of Public Key Encryption which was patented in the US. The patent expired in 1997. Until then, it largely blocked the use of Public Key Encryption in the US. A number of programs that people started to develop got crushed. They were never really available because the patent holders threatened them. Then, one program got away. The program PGP, which initially was released as free software. Apparently, the patent holders by the time they got around to attacking, realized they might get too much bad publicity. So they imposed restrictions making it for non-commercial use only, which meant it couldn't catch on too much. So they greatly limited the use of Public Key Encryption for a decade or more. There was no way around that patent. There was nothing else you could do like that.

Sometimes a specific algorithm gets patented. For instance, there is a patent on an optimized version of the Fast Fourier Transform. It runs about twice as fast. You can avoid that by using the ordinary FFT in your program. That part of your program will take twice as long. Maybe that doesn't really matter, maybe that is a small part of the program's running time. Maybe if it is twice as slow, you won't really notice. Or maybe that means your program won't run at all because it will take twice real time to do its job. The effects vary.

In some cases, you can find a better algorithm. This may or may not do you any good. Because we couldn't use compress, in the GNU project we started looking for some other algorithm for data compression. Somebody wrote to us saying he had one. He had written a program and he decided to contribute it to us. We were going to release it. Just by chance, I happened to see a copy of the New York Times, It happened to have the weekly patent column in it. I didn't see a copy of the Times more than once every few months. So I looked at it and it said that somebody had got a patent for "Inventing a new method of compressing data". I figured I better take a look at this patent. I got a copy and it turned out to cover the program that we were just a week away from releasing. That program died before it was born. Later on we did find another algorithm which was un-patented. That became the program gzip, which is now effectively the de-facto standard for data compression. As an algorithm to use in a program for data compression, it was fine. Anyone who wanted to do data compression could use gzip instead of compress. But the same patented LZW compression algorithm was also used in image formats such as the GIF format. But there because the job people wanted to do was not to simply compress data but to make an image that people could display with their software, it turned out extremely hard to switch over to a different algorithm. We have not been able to do it in 10 years! Yes, people use the gzip algorithm to define another image format, once people started getting threatened with law suits for using GIF files. When we started saying to people stop using GIF files, switch over to this, people said "We can't switch. The browsers don't support the new format yet". The browser developers said "We're not in a hurry about this. After all, nobody is using this file format".

In effect, society had so much inertia in the use of the GIF format, we have not been able to get people to switch. Essentially, the community's use of the GIF format is still pushing sites into using GIF format with the result that they are vulnerable to these threats.

In fact, the situation is even more bizarre. There are in fact two patents covering the LZW compression algorithm. The patent office couldn't even tell that they were issuing two patents on the same thing. They couldn't keep track. There is a reason for this. It takes a while of study of these two patents to see that they really cover the same thing.

23:37

If they were patents on some chemical process, it would be much easier. You could see what substances were being used, what the inputs were, what the outputs were, which physical actions are being taken. No matter how they are described, you'd see what they were and then you would see that they are similar.

If something is purely mathematical, there are many ways of describing it, which are a lot more different. They are not superficially similar. You have to really understand them to see they are talking about the same thing. The patent office doesn't have time. The US Patent Office as of a few years ago, was spending on average 17 hours per patent. This is not long enough to think carefully about them, so, of course they make mistakes like that. In fact, I told you about the program that died before it was born. That algorithm also had two patents issued for it in the US. Apparently, it is not that unusual.

Avoiding the patents may be easy, may be impossible. It may be easy but it makes your program useless. It varies depending on the situation.

Here is another point I should mention: Sometimes a company or consortium can make a format or protocol the de-facto standard. Then, if that format or protocol is patented, that is a real disaster for you. There are even official standards that are restricted by patents. There was a big political uproar last September when the World Wide Web Consortium was proposing to start adopting standards that were covered by patents. The community objected so they reversed themselves. They went back to insisting that any patents had to be freely implementable by anyone and that the standards had to be free for anyone to implement. That is an interesting victory. I think that was the first time any standards body has made that decision. It is normal for standards bodies to be willing to put something in a standard which is restricted by patents and people are not allowed to go ahead and implement it freely. We need to go to other standards bodies and call on them to change their rules.

25:20

2) Licensing the patent

The second possibility instead of avoiding the patent is to get a license for the patent. This is not necessarily an option. The patent holder does not have to offer you a license, it is not required. 10 Years ago, the league for programming freedom got a letter asking for help from somebody whose family business was making gambling machinery for casinos and they used computers back then. He received a threat from another company that said we have the patents. You are not allowed to make these things. Shut down.

I looked at that patent. It covered having a number of computers on a network for playing games such that each computer supported more than one game and allowed you to play more than one game at a time.

You will find patent office really think that there is something brilliant about doing more than one of anything. They don't realize that in computer science, that's the most obvious way to generalize anything. You did it once and now you can do it any number of times, you can make a subroutine. They think that if you do anything more than once, that somehow means you are brilliant and that nobody can possibly argue with you and that you have the right to boss them around. Anyway, he was not offered a license. He had to shut down. He couldn't even afford really to go to court. I would say that particular patent was an obvious idea. It is possible that a judge might have agreed, but we will never know because he could not afford to go to court.

However, a lot of patent holders do offer licenses. They often charge a lot of money for that though. The company licensing the natural order recalculation patent was demanding 5% of the gross sales of every spreadsheet in the US. I am told that was the cheap pre-lawsuit price. If you actually made them sue you and they won, they'd demand more. You might be able to afford that 5% for licensing this one patent, but what if you need to license 20 different patents to make the program? Then all the money you take in goes on patents. What if you need to license 21 patents?

28:00

People in business told me that practically speaking, 2 or 3 of them would make any business unfeasible.

There is a situation where licensing patents is a very good solution. That is if you are a multinational mega-corporation. Because these companies own a lot of patents, and they cross-license with each other. That way, they escape most of the harm that the patent system does and they only get the good. IBM published an article in Think magazine. I believe it was issue No. 5 of 1990 on IBM's patent portfolio, which said that IBM got two kinds of benefit from its 9000 US patents. I believe the number is larger today. These were first, collecting royalties and second, getting access to the patents of others. They said that the latter benefit is an order of magnitude greater. So the benefit that IBM got from being allowed to use the ideas that were patented by others was 10 times the direct benefit IBM could get from licensing patents. What does this really mean?

What is the benefit that IBM gets from this access to the patents of others? It is basically the benefit of being excused from the trouble that the patent system can cause you. The patent system is like a lottery. What happens with any given patent could be nothing, could be a windfall for some patent holder or a disaster for everyone else. But IBM being so big, for them, it averages out. They get to measure the average harm and good of the patent system. For them, the trouble of the patent system would have been 10 times the good. I say would have been because IBM through cross-licensing avoids experiencing that trouble. That trouble is only potential. It doesn't really happen to them. But when they measure the benefits of avoiding that trouble, they estimate it as 10 times the value of the money they collect from their patents.

This phenomenon of cross-licensing refutes a common myth, the myth of the starving genius. The myth that patents "protect" the "small inventor". Those terms are propaganda terms. You shouldn't use them. The scenario is like this: Suppose there is a brilliant designer of whatever of whatever. Suppose he has spent years starving in the attic designing a new wonderful kind of whatever and now wants to manufacture it and isn't it a shame the big companies are going to go into competition with him, take away all the business and he'll "starve". I will have to point out that people in high tech fields are not generally working on their own and that ideas don't come in a vacuum, they are based on ideas of others and these people have pretty good chances of getting a job if they need to these days. So this scenario, the idea that a brilliant idea came from this brilliant person working alone is unrealistic and the idea that he is in danger of starving is unrealistic. But it is conceivable that somebody could have an idea and this idea along with 100 or 200 other ideas can be the basis of making some kind of product and that big companies might want to compete with him. So let's see what happens if he tries to use a patent to stop them. He says "Oh No, IBM. You cannot compete with me. I've got this patent. IBM says let's see. Let's look at your product. Hmmm. I've got this patent and this one and this one and this one and this one and this one, which parts of your product infringe. If you think you can fight against all of them in court, I will just go back and find some more. So, why don't you cross license with me?" And then this brilliant small inventor says "Well, OK, I'll cross license". So he can go back and make these wonderful whatever it is, but so can IBM. IBM gets access to his patent and gets the right to compete with him, which means that this patent didn't "protect" him at all. The patent system doesn't really do that.

33:25

The mega-corporations avoid, for the most part, the harm of the patent system. They see mainly the good side. That is why they want to have software patents. They are the ones who will benefit from it. But if you are a small inventor or work for a small company, the small company is not going to be able to do this. They try. The problem is that they cannot get enough patents to do this. Any given patent is pointing in a certain direction. So if a small company has patents pointing there, there and there and somebody over there points a patent at them and says give me your money, they are helpless. IBM can do it because with these 9000 patents, they are pointing everywhere, no matter where you are, there is probably an IBM patent pointing at you. So IBM can almost always make you cross license. Small companies can only occasionally make someone cross-license. They will say they want patents for defensive purposes but they won't get enough to be able to defend themselves.

34:45

There are cases where even IBM cannot make someone cross-license. That is when there is a company whose sole business is taking a patent and squeezing money out of people. The company that had the natural order recalculation patent was exactly such a company. Their sole business was to threaten to sue people and collect money from people who were really developing something.

There are no patents on legal procedures. I guess the lawyers understand what a pain it would be to have to deal with the patent system themselves. The result is that there is no way to get a patent to make that company cross license with you. So they go around squeezing everyone. But I guess companies like IBM figure that is part of the price of doing business so they can live with it.

So that is the possibility of licensing a patent which may or may not be possible and you may or may not be able to afford it.

Software patents – Obstacles to software development (Part 1)

I have a good article from my friend, Richard Stallman. And this article will be separated in some part. Check it out.

[Transcript of a talk presented 2002-03-25 at the University of Cambridge Computer Laboratory, organized by the Foundation for Information Policy Research. This transcript and audio recording by Nicholas Hill, HTML editing and links by Markus Kuhn.]

Richard StallmanYou might have been familiar with my work on free software. This speech is not about that. This speech is about a way of misusing laws to make software development a dangerous activity. This is about what happens when patent law gets applied to the field of software.

It is not about patenting software. That is a very bad way, a misleading way to describe it, because it is not a matter of patenting individual programs. If it were, it would make no difference, it would be basically harmless. Instead, it is about patenting ideas. Every patent covers some idea. Software patents are patents that cover software ideas, ideas which you would use in developing software. That is what makes them a dangerous obstacle to all software development.

You may have heard people using a misleading term "Intellectual Property". This term, as you can see, is biased. It makes an assumption that whatever it is you are talking about, the way to treat it is as a kind of property, which is one among many alternatives. This term "Intellectual Property" pre-judges the most basic question in whatever area you are dealing with. This is not conducive to clear and open minded thinking.

There is an additional problem which has nothing to do with promoting any one opinion. It gets in the way of understanding even the facts. The term "intellectual property" is a catch-all. It lumps together completely disparate areas of law such as copyrights and patents, which are completely different. Every detail is different. It also lumps together trademarks which are even more different, and various other things more or less commonly encountered. None of them has anything in common with any of the others. Their origins historically are completely separate. The laws were designed independently. They covered different areas of life and activities. The public policy issues they raise are completely unrelated. So, if you try to think about them by lumping them together, you are guaranteed to come to foolish conclusions. There is literally no sensible intelligent opinion you can have about "Intellectual Property" . If you want to think clearly, don't lump them together. Think about copyrights and then think about patents. Learn about copyright law and separately learn about patent law.

To give you some of the biggest differences between copyrights and patents: Copyrights cover the details of expression of a work. Copyrights don't cover any ideas. Patents only cover ideas and the use of ideas. Copyrights happen automatically. Patents are issued by a patent office in response to an application.

Patents cost a lot of money. They cost even more paying the lawyers to write the application than they cost to actually apply. It takes typically some years for the application to get considered, even though patent offices do an extremely sloppy job of considering.

4:05

Copyrights last tremendously long. In some cases they can last as long as 150 years, where patents last 20 years, which is long enough that you can outlive them but still quite long by a timescale of a field such as software.

Think back about 20 years ago when a PC was a new thing. Imagine being constrained to develop software using only the ideas that were known in 1982.

Copyrights cover copying. If you write a novel that turns out to be word-for-word the same with Gone with the Wind and you can prove you never saw Gone with the Wind, that would be a defense to any accusation of copyright infringement.

A patent is an absolute monopoly on using an idea. Even if you could prove you had the idea on your own, it would be entirely irrelevant if the idea is patented by somebody else.

I hope you will forget about copyrights for the rest of this talk because this talk is about patents and you should never lump together copyrights and patents. It is about your understanding of these legal issues. It is like what would happen in your understanding of practical chemistry if you confused water and ethanol.

When you hear people describe the patent system, they usually describe it from the point of view of somebody who is hoping to get a patent- what it would be like for you to get a patent. What it would be like for you to be walking down the street with a patent in your pocket so that every so often you can pull it out and point it out at somebody and say "Give Me Your Money!". There is a reason for this bias, which is that most of the people who will tell you about this patent system have a stake in it, so they want you like it.

There is another reason- the patent system is a lot like a lottery because only a tiny fraction of patents actually bring any benefit to those who hold the patents. In fact, 'The Economist' once compared it to a time consuming lottery. If you have seen ads for lotteries, they always invite you to think about winning. They don't invite you to think about losing, even though losing is far more likely. It is the same with ads for the patent system. They always invite you to think about being the one who wins.

7:03

To balance this bias, I am going to describe the patent system from the point of view of its victims. That is from the point of view of somebody who wants to develop software but is forced to contend with a system of software patents that might result in getting sued.

So, what is the first thing you are going to do after you have had an idea of what kind of program you are going to write? The first thing you might want to try to do to deal with the patent system is find out what patents may cover the program you want to write. This is impossible. The reason is that some of the patent applications that are pending are secret. After a certain amount of time they may get published, like 18 months. But that is plenty of time for you to write a program and even release it not knowing that there is going to be a patent and you are going to get sued. This is not just academic. In 1984, the compress program was written, a program for data compression. At the time, there was no patent on the LZW compression algorithm which it used. Then in 1985, the US issued a patent on this algorithm and over the next few years, those who distributed the compress program started getting threats. There was no way that the author of compress could have realized that he was likely to get sued. All he did was use an idea that he found in a journal just like programmers have always done. He hadn't realized that you could no longer safely use ideas that you found in a journal.

9:00

Let's forget about that problem.. The issued patents are published by the patent office so you can find the whole long list of them and see exactly what they say. Of course, you couldn't actually read that whole list as there are too many of them. In the US, there are hundreds of thousands of software patents.

There is no way you can keep track of what they are all about. You would have to try to search for relevant ones. Some people say that should be easy in these modern days of computers. You could search for key words and so-on. That one works to a certain extent. You will find some patents in the area. You won't necessarily find them all however. For instance, there was a software patent which may have expired by now on natural order recalculation in spread sheets. This means basically that when you make certain cells depend upon other cells, it always recalculates everything after the things it depends on, so that after one re-calculation, everything is up to date. The first spread sheets did their recalculation top-down, so if you made a cell depend on a cell lower down, and you had a few such steps, you had to recalculate several times to get the new values to propagate upwards. You were supposed to have things depend upon cells above them. Then someone realized why don't I do the recalculation so that everything gets recalculated after the things it depends upon? This algorithm is known as topological sorting. The first reference to it I could find was in 1963. The patent covered several dozen different ways you could implement topological sorting but you wouldn't have found this patent by searching for spreadsheet. You couldn't have found it by searching for natural order or topological sort. It didn't have any of those terms in it. In fact, it was described as a method of compiling formulas into object code. When I first saw it, I thought it was the wrong patent.

11:35

Let's suppose that you got a list of patents. So you want to see know what you are not allowed to do. When you try studying these patents, you will discover they are very hard to understand as they are written in tortuous legal language, whose meaning is very hard to understand. The things patent offices say often don't mean what they seem to mean.

There was an Australian government study of the patent system in the 1980's. It concluded that aside from international pressure, there was no reason to have a patent system. It did no good for the public and recommended abolishing it if not for international pressure. One of the things they cited was that engineers don't try reading patents to learn anything, as it is too hard to understand them. They quoted one engineer saying "I can't recognize my own inventions in patenteese".

This is not just theoretical. Around 1990, a programmer named Paul Heckel sued Apple claiming that Hypercard infringed a couple of his patents. When he first saw Hypercard, he didn't think it had anything to do with his patent, with his "Inventions". It didn't look similar. When his lawyer told him that you could read the patents as covering part of Hypercard, he decided to attack Apple. When I had a speech about this at Stanford, he was in the audience, he said "That's not true, I just didn't understand the extent of my protection!" I said yes, that's what I said! So, in fact, you will have to spend a lot of time talking with lawyers to figure out what these patents prohibit you from doing. Ultimately they are going to say something like this: "If you do something in here, you are sure to lose, If you do something here, there is a substantial chance of losing, and if you really want to be safe, stay out of this area. And, by the way, there is a sizable element of chance in the outcome of any law suit".

Monday, November 12, 2007

Overcome Your URL Aftermath - Drive More Internet Profits To Your Site

Most article marketer's know the value of article marketing, but few really know why or how to get the most out of their article submissions. The reason is because of the many false ideas in the marketplace regarding article marketing. So let me set the record straight on at least one of the biggest false assumptions.

Many article marketers fall prey into believing that one article published in many sites, ezines, and newsletters will benefit them by bringing in lots of traffic. Well, basically this idea is really only partially correct. Yes it does help to get your word out to many places, but there is a big difference between getting the same content out to many places and getting unique content to many places.

As most of us know Google is the king when it comes to search engines. Unfortunately sending the same article to many Websites, ezines, and newsletters will not help you with Google, but actually hurt you in the long run. Why you ask? Becuase of Google's "Duplicate Content Filter". Google's duplicate content filter will screen out multiple versions of your same article and will leave you with a handful of inbound links to your site. Inbound links to your site is a key factor in search engine ranking. The more inbound links, the better your ranking.

There are really only two ways you can fix this "Duplicate Content" problem. One way is you could sit down with a big pot of coffee and enough sandwiches to last you a few days and start writing hundreds of different article so each one is filled with unique content about your same subject! Or, you can use an article submission software that will submit hundreds, and possibly thousands of unique articles for you at the click of your mouse! Did you catch that?! Hundreds and also thousands of unique article for you at the click of your mouse! I don't know about you, but I'd rather save on all the lunchmeat and that coffee happens to keep me up all night.

The strategy behind submitting unique articles with different content is in the software.

Through three different versions of your article it will randomly select paragraphs from those three articles and create a unique article each and every time it submits an article. Can you feel the power?! You can arrive at literally hundreds or thousands of unique article versions depending on the amount of paragrphs your three versions contain. It stops "Duplicate Content" dead in it's tracks, overcoming your URL aftermath!

It has been proven through testing that roughly 300 inbound links to a website shrink to around 16 inbound links after several weeks of submitting the same article to many different sources. By using this awesome article marketing tool you can increase your efectiveness with article submissions by 1875% or 18.75 times more. 300 inbound links will stay at 300 inbound links, not dropping down to 16 inbound links. Google will see your articles as unique and will show them all in your search results. The more results drive more traffic to your site. More traffic to your site drives more sales, and more sales will drive your profits skyward!

This is the most powerful article submission strategy available to increase your overall efffectiveness of all you article marketing campaigns. Now that's a benifit all article marketer's should take notice of.

Sunday, October 21, 2007

What do you mean by Free Software?

In this time, many people new to free software find themselves confused because the word "free" in the term "free software" is not used the way they expect. To them free means "at no cost". An English dictionary lists almost twenty different meanings for "free". Only one of them is "at no cost". The rest refer to liberty and lack of constraint. When we speak of Free Software, we mean freedom, not price.

Software that is free only in the sense that you don't need to pay to use it is hardly free at all. You may be forbidden to pass it on, and you are almost certainly prevented from improving it. Software licensed at no cost is usually a weapon in a marketing campaign to promote a related product or to drive a smaller competitor out of business. There is no guarantee that it will stay free.

Truly free software is always free. Software that is placed in the public domain can be snapped up and put into non-free programs. Any improvements then made are lost to society. To stay free, software must be copyrighted and licensed.

To the uninitiated, either a piece of software is free or it isn't. Real life is much more complicated than that. To understand what kinds of things people are implying when they call software free we must take a little detour into the world of software licenses.

Copyrights are a method of protecting the rights of the creator of certain types of works. In most countries, software you write is automatically copyrighted. A license is the authors way of allowing use of their creation (software in this case), by others, in ways that are acceptable to them. It is up to the author to include a license which declares in what ways the software may be used. For a proper discussion of copyright see http://www.copyright.gov/.

Of course, different circumstances call for different licenses. Software companies are looking to protect their assets so they only release compiled code (which isn't human readable) and put many restrictions on the use of the software. Authors of free software on the other hand are generally looking for some combination of the following:

  • Not allowing use of their code in proprietary software. Since they are releasing their code for all to use, they don't want to see others steal it. In this case, use of the code is seen as a trust: you may use it, as long as you play by the same rules.
  • Protecting identity of authorship of the code. People take great pride in their work and do not want someone else to come along and remove their name from it or claim that they wrote it.
  • Distribution of source code. One of the problems with most commercial code is that you can't fix bugs or customize it since the source code is not available. Also, the company may decide to stop supporting the hardware you use. Many free licenses force the distribution of the source code. This protects the user by allowing them to customize the software for their needs. This also has other ramifications which will be discussed later.
  • Forcing any work that includes part of their work (such works are called derived works in copyright discussions) to use the same license.

Many people write their own license. This is frowned upon as writing a license that does what you want involves subtle issues. Too often the wording used is either ambiguous or people create conditions that conflict with each other. Writing a license that would hold up in court is even harder. Luckily, there are a number of licenses already written that probably do what you want.

Three of the most widely found licenses are:

Some of the features these licenses have in common.

  • You can install the software on as many machines as you want.
  • Any number of people may use the software at one time.
  • You can make as many copies of the software as you want and give them to whomever you want (free or open redistribution).
  • There are no restrictions on modifying the software (except for keeping certain notices intact).
  • There is no restriction on distributing, or even selling, the software.

This last point, which allows the software to be sold for money seems to go against the whole idea of free software. It is actually one of its strengths. Since the license allows free redistribution, once one person gets a copy they can distribute it themselves. They can even try to sell it. In practice, it costs essentially no money to make electronic copies of software. Supply and demand will keep the cost down. If it is convenient for a large piece of software or an aggregate of software to be distributed by some media, such as CD, the vendor is free to charge what they like. If the profit margin is too high, however, new vendors will enter the market and competition will drive the price down. As a result, you can buy a Debian release on several CDs for just a few USD.

While free software is not totally free of constraints (only putting something in the public domain does that) it gives the user the flexibility to do what they need in order to get work done. At the same time, it protects the rights of the author. Now that's freedom.

The Debian project is a strong supporter of free software. Since many different licenses are used on software, a set of guidelines, the Debian Free Software Guidelines (DFSG) were developed to come up with a reasonable definition of what constitutes free software. Only software that complies with the DFSG is allowed in the main distribution of Debian.

Wednesday, October 17, 2007

Anti-Piracy Software For YouTube Launches By Google

Hot news from Google.

Google has launched anti-piracy software into YouTube to help copyrighted materials owners to crack down on people that introduce pirated versions on the world’s most popular video sharing site.

The tracking and identification system was developed after complaints by media companies that the videos, songs and properties owned by down were being shown openly on the Google owned YouTube. Last March, Viacom sued Google for copyright infringement and demanded USD 1 billion in damages and so did others.

Now, Viacom has welcomed the move. "We're delighted that Google appears to be stepping up to its responsibility and ending the practice of profiting from infringement," said Michael Fricklas, general counsel of Viacom.

Called as the "YouTube Video ID," the software does an abstract image of copyrighted videos and compares that to similar images that are extracted from videos uploaded to YouTube.

"We really need the content community to work with us," YouTube content manager David King said. "We need them to help us help them."

Borland Unveils Together 2007

This news came from Borland Software.

Borland Software has announced enhancements to its visual, standards-based modeling product with the release of Borland Together 2007.

Borland Together 2007 is a modeling product that provides unique support for Unified Modeling Language, Business Process Modeling Notation, Entity-Relationship modeling and domain-specific languages within a single tool. With new support DSLs, Borland Together 2007 helps accelerate the delivery of high-quality enterprise applications through the creation of rich visual models that capture business requirements and associated architectures within a specific business domain.

"The value of modeling solutions is evolving from traditional architect and developer-centric productivity tools to a more business-centric activity that helps ensure a common understanding of a system through domain-specific models and visualization," said Richard Gronback, co-leader of the Eclipse Modeling Project and chief scientist at Borland.

As the complexity of applications and business processes continues to rise, so does the importance of integrating Model Driven Development techniques into the software delivery lifecycle. Borland Together 2007 helps organisations deal with complexity by allowing project teams to create models that provide a blueprint for business processes, data structures and application and enterprise architectures. These models are essential for assuring architectural soundness and effective communication and collaboration among project teams and business stakeholders.

Ready For Launching Ubuntu Desktop Version

Good news for all of Linuxer ...

Canonical, the commercial distribution arm of Ubuntu Linux has said that the new version of Ubuntu 7.10 Desktop Edition will be launched Thursday, Oct. 18.

Ubuntu, founded by South African billionaire and the first African in space, mark Shuttleworth is a very popular desktop Linux distribution that delivers the best of open-source software every six months.
Called as Gutsy Gibbon Ubuntu 7.10 Desktop Edition, the new version includes better and advanced plug-and-play printing, enhanced browsing and the option of a new user interface built on top of the latest GNOME 2.20 desktop.

The new version of Ubuntu has new features such as improved hardware support, better plug-and-play configuration for printers, and automatic firmware installation for Broadcom Wi-Fi cards.

Monday, October 15, 2007

Weight-By-Date

Weight-By-Date Will Keep You Committed to Becoming a Healthier You.

If you haven't found a good solution for measuring the results of your diet and exercise, then you just haven't tried Weight-By-Date.

It gives you the flexibility you need to track your specific nutritional needs and your personal fitness routine. And the progress charts, goal projections, personal rewards, and color schemes will give you plenty of ways to have fun and stay motivated. Weight-By-Date is the big boost that your willpower needs!

Features:

You'll have a place to keep track of your meals and snacks, along with your nutritional intake.

You can select from a USDA-based list of over 6,000 foods. You can even add your own foods.

A fitness journal gives you a place to track daily exercises and calories burned.

You can track and compare your body measurements as often as you like.

More tools that help you assess your body fat percentage and daily caloric needs.

You'll have the ability to add other family members.

Download Now!

Madagascar 0.9.5

New software ... new software ... new software ... the name is Madagascar ...

Madagascar (formerly known as RSF) is a software package for geophysical data processing and reproducible numerical experiments. Its mission is to provide a convenient and powerful environment and a convenient technology transfer tool for researchers working with digital image and data processing. The technology developed using the Madagascar project management system is transferred in the form of recorded processing histories, which become "computational recipes" to be verified, exchanged, and modified by users of the system.

Hmm ... What is Free Software?

More information for you about what is free software ...

Free Software, as used in this web site, refers to software distributed in source form which can be freely modified and redistributed, or freely modifiable and redistributable software. It does not refer to zero-cost software. This usage of the name "Free Software" was common in the Unix world and recently introduced to the general computer community. Free Software is also referred to as Freed Software, Liberated Software (software libre) or FRS (freely redistributable software). "Open Source" is a marketing name for Free Software, coined in Feb 1998 as an attempt to overcome the confusion over the word "free" in the English language. Open Source refers to the fact that the source code of Free Software is open to and for the world to take, to modify and to reuse. The precise meaning of Free Software is spelled out in the Debian Free Software Guidelines or the Free Software Definition while Open Source is defined officially by the Open Source Definition. Open Source and Free Software refer to, originally the same (around Feb 1998), but now different but largely similiar, set of software, but they emphasize different rationals; see Why ``Free Software'' is better than ``Open Source'' for more explanation.

Free software is just a matter of liberty not price.

The Free Software Foundation (FSF), established in 1985, is dedicated to promoting computer users' rights to use, study, copy, modify, and redistribute computer programs. The FSF promotes the development and use of free software, particularly the GNU operating system, used widely in its GNU/Linux variant.

The FSF maintains the Free Software Definition. You can read more about free software in our essays section and in the philosophy section of gnu.org.

Here are the Free Software Foundation's current projects.

GPLv3.fsf.org
The GNU General Public License, version 3, has been released, along with the Lesser GNU General Public License, version 3. Other licenses, including the AGPL, GFDL and GSFDL are still undergoing public comment and revision.
GNU
FSF remains the primary sponsor of the GNU Project. In addition to the services provided by Savannah for GNU projects, FSF provides development systems for GNU software maintainers, including full email and shell services. We are committed to furthering the development of the GNU Operating System and enabling volunteers to easily contribute to that work.
Free Software Licensing and Compliance Lab
The commencement of the GNU project in 1984, with its goal to give users freedom, required the establishment of new distribution terms that would prevent the project being turned into proprietary software. The method used was Copyleft and the resulting license was called the GNU General Public License (GNU GPL). Today the GNU GPL is the most widely used Free Software license, and as its author, the FSF works to help the wider community use and comprehend it.
Free Software Directory
The Free Software Directory was started in September 1999 to catalog all useful free software that runs under free operating systems. The Directory contains over 4,000 entries. The license of each program in the Directory is checked to verify that it is free software.
Savannah
Savannah provides software development services at no cost to free software developers around the world. Savannah provides a web front-end for hosting and maintaining project homepages, bug tracking, CVS, FTP, and mailing lists. We provide all of these services running entirely on Free Software, without ads, for the entire community.

Using free software to unlock your iPod's potential

While iTunes is a powerful software, it does have its limitations, mostly stemming from both Digital Rights Management (DRM) restrictions and the Recording Industry Association of America’s (RIAA) interest in preventing unauthorized copying of music, regardless of fair use and personal flexibility. The free software community believes that the ability to freely copy content you own between your iPod and a computer is a right, not a privilege. In this article, I’ll discuss how to fully manage the content on your iPod using completely free software.

The free software community believes that the ability to freely copy content you own between your iPod and a computer is a right, not a privilege

Other than purchasing content, what other base functionality of iTunes is commonly used? Copying content to your iPod, maintaining playlists, and subscribing to podcasts. If we’re switching applications, we don’t want to lose any basic functionality!

I used a FAT formatted fourth generation 20 GB iPod Version 3.1.1 for testing, so I can’t attest to video functionality. I used Ubuntu 6.10 x86 for my test system, so any installation notes will apply to that context. By default, Ubuntu comes with Rhythmbox, which didn’t work properly with my iPod, so I just removed it.

iPod Managers

There are three softwares for managing the contents your iPod that rise to the top: gtkpod, Banshee, and Amarok. While gtkpod is primarily just an interface to the iPod, Banshee and Amarok are fully functional audio players. I’ll concentrate on iPod management rather than a full review of all their features.

Wednesday, September 26, 2007

2006 Software 500: Deep Concerns Over Security

The 2006 Software 500 reflects deep concern over information security as 40 % more companies than last year identified information security as their primary business sector, and those companies increased employees 40 % over the previous year.

Overall, total 2006 Software 500 revenue of $380.8 billion worldwide for 2005 represents just under a 1 % decline from the previous year, when total revenue was $383.3 billion. Total employees in the 2006 Software 500 declined just under 5 %, from 2,663,023 at the end of 2004 to 2,539,872 at the end of 2005.

Outside of the security sector, employee growth was strong in human resource management systems (39 % increase), healthcare (23 % increase), content management (22 % increase) and customer relationship management (17 % increase).

The top of the Software 500 saw few changes as IBM again took Number 1 with a 3 % increase in software and services revenue to $63.1 billion, and Microsoft placed in the second with 7.6 % growth to $36.5 billion in software and services revenue. EDS, Hewlett-Packard Co., Accenture and Computer Sciences Corp. were next at ranks three through six, reflecting the clustering at the top of the Software 500 of the largest system integration and services firms.

Among the fastest growing companies with more than $2 billion in revenue this year, Wipro Limited, at No. 28, stands out with its 117 % growth rate on its strength in system integration services from its India base. The company competes in multiple markets including CRM, business intelligence, software engineering and complex global application projects, such as those implementing SAP applications. Another standout is Infosys Technologies Limited, at No. 38, with a 50 % growth rate from the previous survey year. Also based in India, Infosys is also strong in system integration services and positions with its “Win in the Flat World” and Global Delivery Model taglines.

Most of 2006 Software 500 companies grew up to 24 %, 231 of them, while only 17 % or 84 companies reported declining revenue, eight fewer than last year.

Serena, at No. 126, shows notable growth among companies with between $100 million and $1 billion in revenue, registering 142 % growth. The privately held concern with mainframe roots is benefiting from its strategy to offers its change control capabilities across a range of platforms while keeping a strong technical focus on “Change Governance,” in its marketing parlance. Also growing at 142 % in this category by virtue of the merger of Concerto Software (last year at No. 144) and Aspect Communications, is Aspect Software, now at No. 82. The company is focusing its product portfolio strongly on the contact center. Privately held Infor moved up from No. 111 to No. 102 this year, on the basis of 126 % growth in revenue to $350 million, building on its core ERP applications to “Enrich, Extend and Evolve.”

Growing rapidly in companies in the $30 million to $100 million revenue range was Recruitmax Software, up 216 % in revenue on the strength of its products for recruitment, compensation and performance management — the employee lifecycle. (Note: Recruitmax changed its name to Vurv Technology Inc. in the spring of 2006.) Also growing dramatically in this revenue range was Click Commerce, up 128 % thanks to its on-demand supply chain focus. (Note: The company announced in September an agreement to be acquired for a value of $292 million by Illinois Tool Works, Inc., a diversified manufacturer of engineered components with 700 business units.) Also, Omniture, with its business optimization product line, had a strong showing of 108 % growth; and Aztecsoft Ltd., showed 99 % growth, relying on its software and quality engineering services.

Seeing strong growth among companies in the $10 million to $30 million range were: ActivCard Corp. growing 144 %, with its digital identity assurance products; NetQoS, Inc., supplier of network performance management products and services, growing 110 %; and Acronis, supplier of shrink-wrapped products focusing on storage management, growing 107 %.


Sunday, September 23, 2007

Free Software ... What is it mean ??

Now, we're talking about Free software, actually, what is mean ??


Free software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions only to ensure that further recipients can also do these things. To make these acts possible, the human readable form of the program (called the source code) must be made available and the software must be accompanied by a software licence saying that the copyright holder permits these acts (a free software licence). Software can also be free software by putting the source code in the public domain.[1]

Alternative terms for free software have been coined in an attempt to make the use of "free" less ambiguous. The most common is "open-source software", which has since evolved to refer to a subtly different sense of freedom. Free software is also known as "software libre", "free, libre and open-source software" ("FLOSS"), and "free/open-source software" ("FOSS").

Free software and "freeware" should not be confused. Freeware is software made available free of charge. Everyone is free to sell copies of free software, to use it commercially, and to charge for distribution and modifications. Because anyone who has a copy may distribute the software at no cost, the software generally is available at no cost. Free software business models are usually based on adding value such as support, training, customisation, integration, or certification. At the same time, some business models which work with non-free software are not compatible with free software, such as those that depend on a user having no choice but to pay for a license in order to lawfully use a software product.

The free software movement was launched in 1983 to make these freedoms available to every computer user.[2] Software that does not provide these freedoms is referred to as proprietary software or non-free software.

Now i know what is it mean ...

New Deployment Agent By McCabe Software

This news come from McCabe Software.


McCabe Software has taken another step toward end-to-end software configuration management with the release of TRUEchange 3.4.

McCabe’s chief differentiator from its competitors has always been its treatment of each development task as an individual, free-standing object or change-set rather than as a delta or change from another piece of software. The benefit of McCabe’s straightforward approach is that it simplifies the task of managing, tracking and implementing changes across an enterprise or across a software product family, according to Barbara Dumas, McCabe’s director of Software Configuration Management (SCM) solutions.

Now McCabe has made a major improvement to TRUEchange 3.4 with the addition of its TRUEchange Agent. The Agent automates the scheduling of deployment, installation and tracking of software changes or fixes, which can be initiated remotely, scheduled in advance and split up among multiple boxes, Dumas explains. The Agent directs everything from within the configuration itself and facilitates repeatable and automated release management. It also provides tracking required by federal audits.

Dumas adds that while automated deployments of software upgrades and patches are commonplace across large desktop installations, this process has been manual in the smaller universe of software development until now with the advent of the Agent. No other software configuration management package has a tool comparable to the Agent, which, incidentally, can be used with other SCM products, she notes.

The Agent is not just a scheduling tool but a self-contained manager with the ability to direct and track changes across platforms and operating systems and apply changes selectively, backward and forward, to different versions, says Dumas. “We’re talking end-to-end, from a change request to developing and building a change, managing output and, finally, deployment and execution. This is really new and different.”

Additionally, the Agent has a small enough footprint to push changes out to devices with embedded systems via TCP/IP.

McCabe’s competitive differentiator is its Agent and its system of tracking individual software changes themselves rather than as dependent deltas, sharing changes rather than copying and revising them, Dumas says.

Chief competitors to TRUEchange 3.4 are IBM’s Rational ClearCase, AccuRev, Serena ChangeMan, CVS, and Subversion.

Customers include JPMorgan Chase, Citigroup, Network Solutions, and ADP.

Pricing for TRUEchange 3.4, which includes the Agent, starts at $20,000. Purchased separately, the Agent is priced at $20,000 in blocks of 10 deployment destination points.

For more information, go to: www.mccabe.com

Great ...

Powered by WebRing.