Saturday, 18 May 2013

New Trends in Software Development


The world is ever dynamical, and this is often very true once it involves software system development. IT professionals ar expected to require on new challenges as they seem, since being up to this point equals to staying productive and profitable within the IT business. the subsequent new trends in software system development ar expected to create a mark for the future years.

High performance computing moving to the cloud

There is a reason why cloud computing goes forward and additional and additional firms opt to move their high performance computing to the cloud. the flexibility the personal and therefore the public cloud offers for business applications takes this model of software system development to consequent level. Now, software system tools or applications is developed within the personal cloud, so as to point out effects and be effectively utilized in the general public cloud.

The most vital facet of cloud computing is that it permits firms to chop prices on hardware and development. With cloud computing, additional correct and economical prediction models ar expected to be developed.

Location primarily based apps

Being mobile has been fashionable for years currently, however with the mixing of GPS functionalities, location becomes even additional vital. the flexibility to develop applications with specialise in location are thought of of the utmost importance within the close to future. Knowing wherever shoppers ar so as to produce them with promptly out there data with reference to their location can facilitate businesses flourish within the following years. Facebook places and Foursquare represent simply the tip of the iceberg and a sample of what's to come back in terms of location primarily based applications.

Going agile

The recent model of developing software system tools from bottom to high is not any longer as economical as within the past. Agile methodologies ar currently most popular, as a result of they permit lowering any project in chunks referred to as iterations. The recent unidirectional  communication approach is not any longer in situ. groups will currently work on a similar project and exchange data and proposals on a daily basis, so as to make an improved, additional economical product, with a reduced time cycle.

Mobile: the new parcel of land

With additional and additional individuals feat mobile devices for human action, shopping, sharing and reading reviews, and for several different functionalities, it ought to return as no surprise that the parcel of land for software system development can move to the mobile market. the main target are placed on developing software system applications for shoppers victimisation their mobile devices on a daily basis.

Web 3.0

Web 2.0 has created a revolution within the method the globe Wide internet was being employed by shoppers. Now, the globe is prepared for internet three.0 or the linguistics internet because it is additionally referred to as. it's now not enough to possess access to an oversized amount of knowledge. This information should be coupled, created clear, and therefore the new technologies that ar getting to be developed within the years to come back should focus on their internet three.0 part.

IT professionals should reply to the new challenges for software system development for the subsequent years.

Sunday, 12 May 2013

Software - Old Software Is Just, Old Software


Remember the good old days when you fired up your PC, all 64K of it? Boy, they sure don't make them like that anymore, the PCs or the software that ran on them. If you're attempting to run any of those gems on a turbo 4 gigahertz Windows 2000 or XP model, you've got a very long wait before you see anything but a blank screen. But it sure was fun playing with some of those not so great pieces of, well, whatever they were.
Need some reminders?
Why don't we start with Visicalc for the Apple III? This was basically a Lotus 123 knock off. It ran in DOS, or the DOS equivalent for Apple and did basic spreadsheet functions. It wasn't too fancy and the only interface you had was your keyboard, so forget about drag and drop or anything like that. The color was a very ugly yellow border on a green background. You could only have one worksheet at a time as there was no windows. This was around 1984.
Then of course you had all the great IBM PC gems like Lotus 123 itself. The look was basically the same as Visicalc, except it did come first. This actually did run in DOS 3.0 when it first came out. Versions ran all the way until DOS 6.0 until they finally came out with Windows 3.1.
In 1985 a company by the name of Aldus came out with a piece of software called PageMaker. It was made for the MAC and was one of the first desktop publishing softwares made. PageMaker actually started a whole desktop publishing craze for the MAC. A couple of years later they did release a version for the IBM series.
Also that year, the C++ programming language came out. This was supposed to be an all purpose language that was more powerful than the BASIC language that came with your PC. C++ was supposed to be for the more "serious" programmer. While it was able to get more into the core of the machine, it still pales in comparison to the languages of today.
We now move on to 1987. That year a guy by the name of William Atkinson came up with a piece of software called HyperCard. This was something that was supposed to make it easier to design in house applications. The program was made interactive instead of language based. Basically, what programmers did was build stacks and links between pages. The software itself was actually given away free with every Apple computer until 1992.
Unlike old movies that just seem to get better with time, old software is just that, old. Almost none of it can be run any longer unless it's been updated, in which case it's not old anymore. And the truth is, a lot of the old software of the early 80s and 90s was pretty bad. It just about was able to do what you wanted it to and if you tried to push most of it even a little, it would crash and burn on you.
No, there is no need to keep any of this stuff around any longer.


Monday, 6 May 2013

Open Source Software: Benefits and Disadvantages


Open Source software has been responsible for several innovations in the tech world, including the Linux operating system and Mozilla Firefox browser, to name just a couple. Today, open source software is being regarded as more and more of a valuable asset to companies.
Open source software allows for complete collaboration to occur. Because this type of software allows anyone in information technology to dissect, examine and alter a product's source code, anyone can distribute their own version for sale and profit. The ability for such freedom in source code manipulation is what has allowed many companies to continuously improve their products, a move that's vital if the goal is to compete in the marketplace. But as with everything, open source has two sides, positive and negative.
Advantages
For users of this widely used technology, the ability to download and use software at no cost is a big positive. Open source software developers don't feel the same pressure to profit as those working with larger corporations. Therefore, improvements made to their code can be more focused toward what each user may need, and less to what will appeal to the mass market.
The benefit to developers is that more time can be spent on the improvement of existing software. This can mean much less risk for bugs, as time can be taken in solving issues before the software is released to the market instead of being quickly altered for stability prior to release.
Open source software can be installed numerous times and in numerous locations without the need for tracking or monitoring, such as is usually the case with licensed software. This is a definite benefit for companies.
And, this type of software can continue its existence even if the company who created it fails, as it can then become a part of the user and developer community to manipulate as they see fit.
Disadvantages
Competition is a definite con of open source. Because everyone can have access to the code, including developers, competing products can easily be created. As well, since the code is public, any mistakes made by developers can be as well, meaning a developer's reputation can become quickly tarnished.
In some cases, open source software may require specialized operating knowledge by the user. One good example is the Linux operating system, which requires much more than navigating menus and choosing options to configure. A user without this knowledge may also find no help in the software documentation, which can be vague if it exists at all.
And although it's largely offered at no cost, this doesn't necessarily mean that open source is completely free to develop or to use. Situations can arise which may require paid administration and support costs to be submitted.
Ultimately, it is the end-user who will judge the usefulness of the free technology. Therefore, every benefit and disadvantage should be carefully made when attempting to make the decision of switching to open source.

Friday, 3 May 2013

Why Do We Need Software Testing ?


For any company developing software, at some point pressure to reach the deadline in order to release the product on time will come into play. Additional pressure from project stakeholders, such as 'Marketing' will not want to delay the release date as significant effort and money may have already been spent on an expected release date.   
Quite often, planned time to test the software (e.g. ascertain its quality - QA) will become reduced so as not to impact the release date. From a pure business perspective, this can be seen as a positive step as the product is reaching the intended customers on time. Careful consideration should be taken though as to the overall impact of a customer finding a 'bug' in the released product. Maybe the bug is buried deep within a very obscure functional area of the software product, and as the impact only results in a typo within a seldom-used report, the level of impact is very low. In this case, the effect on the business for this software company would probably be insignificant. But what if the bug resulted in the program crashing and losing data? Maybe this software product is used within an air traffic control system? As you can imagine, the impact of this type of bug could be incredibly high and may result in loss of life and destroying the entire company responsible. So basically, the level of risk of a bug being found (likelihood) and what is the effect of the bug (impact) prove to be critical in how much software testing is performed prior to a products release.

Due to the complexity of modern software it is impossible to ensure that software is bug-free.......it really is!
Imagine a simple form on a software application that was designed to accept one of ten specific values, in order to test this completely, you would need to create a test case for each and every permutation of the entries that could be entered by the user, for example:
10(inputs) to the 10(values)th power
10 to the 10th power
Result = 10,000,000,000 test cases
So, if you were the tester hired to perform the testing, and it only took you one second to perform each test case, it would take around 317 years to complete. Therefore, the test planning should take into consideration what is actually 'achievable.'
Software testing (synonymous with the term Quality Assurance) itself can have many different purposes (quality assurance, validation, performance etc). This is a key decision when planning the QA /software testing, as not testing enough or testing in the wrong areas will inevitably result in missed bugs. The aim should be first ascertaining 'why' we are going to test and not simply 'what' we are going to test.
Software testing and or Quality Assurance is still a kind of art, mainly due to a limited understanding of the complexities of modern software. Recent years has seen the development of software testing certification such as ISEB and ISTQB. This is good news for the software industry as a whole, as the more experienced a software tester is then the level of quality of the software they are testing can only increase.
Software testing cannot ensure software is bug-free, but it CAN increase software quality.

Tuesday, 30 April 2013

Software Based Vs Hardware Based

Software License Protection is means the security solution where software developers use to integrate into their software applications with the intention to prevent unauthorized usage or illegal execution of their software. Software developers can either purchase Software License Protection solutions from third party solution providers or develop it in-house. Currently, there are 2 common Software License Protection methods, i.e. Software based and Hardware based.
Software based Software License Protection is the earliest protection method available and usually the protected application will require user to key in Serial No., License Key or Unlock Code to activate the software license. Most of the third party Software License Protection provider will provide a ready made encryption engine of which software developers can use this to encrypt their software applications as to add the protection layer onto their software applications. Usually, the protection will tie with some unique ID from the computer system such as Hard Disk ID or Network Card ID. Also due to this reason, usually if there is any hardware problem such as Hard Disk or Network Card spoiled, license re-activation will be needed. It will also means the Software Developers will need to keep track and verify the License Key reissue request from the end users, of which some end users might try to take advantage on it. As Software based Protection do not come with any additional devices, it will have to store all the licensing information into the computer system and mostly hide it inside registry.
Pro
- Lower ownership cost
Most probably it is cheaper than Hardware based in long run if you purchase from third party provider with one-off purchase (without license loyalty model).
- Easier to implement
Usually it comes with limited security features and thus the implementation can be easier.
Con
- Lower security
As Software based can only store and hide all the protection information into the computer system, it will come with higher risk as hackers are able to find those information easily and perhaps crack it.
- Too dependent on computer hardware
Most Software based protections are too computer hardware dependent and thus if any computer hardware problem, reinstallation or license reactivation will be required. There are also possibilities some end users will try to take advantage of it by requesting additional license keys for additional workstations instead.
Hardware based Software License Protection is now the most popular protection method where the end user will require to plug in the valid hardware device to the computer in order to run the application. Third party provider will sell the devices which is commonly called Dongles together with software SDK for software developers to do the integration. Usually for Hardware based Software License Protection, end user will not require to key in any Serial No., License Key nor Unlock Code, just plug in the Dongle and run the application, the protection will authenticate the license through Dongle. There are many different forms of Dongles available in the market and the most advanced Dongles are now built based on MCU Smart Card of which it is able to provide very maximum protection and thus make hacking almost impossible. As now, software developers are able to determine your software licenses with their Dongles thus make software distribution much easier and more secure.
Pro
-Higher security
A good Dongle can provide very maximum security if software developers implement it in the right way. As Software developers not only able store the license information inside the Dongle but also able to perform many others security features onboard of which it will certainly make hacking more difficult. The lasted MCU Smart Card based Dongles will make hacking such protection like hacking our EMV Credit Cards, at least it is impossible with today hacking technology.
-Better software distribution
With Dongle, software developers will be able to distribute their software as ready-pack product and thus make many different software distribution models possible.
Con
-Higher cost per license
As the protected software will need to distribute together with Dongle, it will add into the software costing as well.
-Compatibility issue
Some Dongle might have some compatibility problem to certain environment such as different OS, different network settings or even different firewall configuration. Choosing the proven and well-known Dongle will be able to eliminate such issue.
Different software developers might have different preferences on selecting either Software based or Hardware based Software License Protection into their software applications. The common factors influence their decisions are as below:-
Total Cost of Ownership
-This will include overall investment on acquire such protection method which can be the Initial cost to obtain, cost to integrate and cost per software license. Most importantly, will the choice taken provide positive return on investment.
Time to Roll-Out
-Overall implementation time, will this protection affect the software roll out schedule or will the integration consume too much of our resources to accomplish it. A good protection strategy should find the right balance point among this consideration.
Security
-How strong can the protection method combat against the potential threat of being pirated, usually higher value software might require higher security protection then low value mass market software.
Business Model
-Whether the protection method can best suit into their overall business model of which will include product distribution, product pricing, licensing management and of course marketing activities.

Tuesday, 16 April 2013

Learning the Basics of Software Development

Software development is a discipline in the computer science field focusing on the creation of programs that control computer hardware. These computer programs, also known as "software applications" or "apps" for short, are groups of instructions which tell a computer what to do. The software development field, containing many different computer programming languages each designed to fulfill various requirements depending on the project at hand.
It is almost unbelievable to think early programmers did not even have desktop computers to work with, instead punching instructions into paper cards to input into a mainframe computer centrally located in a "machine room". These early instructions were written in what is known as assembly language or machine code, the native language used by all computers. As software development evolved, "higher level" languages were developed patterning natural languages and better reflecting the human problem-solving process. Assembly language is still used today, especially by low-level engineers developing computer components and embedded systems. However, most desktop and web-based development is conducted in high-level languages such as ASP, C++, C#, Java, Perl, etc.
If you ask a hundred programmers, "What is the best programming language for beginners?" you will get one hundred and one answers. Everyone has an opinion, and then some. The question is akin to asking what is the best vehicle to drive - there is simply no right or wrong answer. Some general guidelines do exist, fortunately, to get the novice programmer off to a good start. Those who are completely new to computers and unsure whether they are up to the task (or whether software development will be of interest) should start with a language that is designed to teach basic principles with as little complexity as possible. The BASIC and LOGO programming languages were early attempts to bring computer programming to the masses. Nowadays a language like Microsoft's Visual Basic would be ideal for a beginner. Visual Basic allows you to make practical applications with a visual interface in a matter of hours without getting bogged down by the technical details other more advanced languages. Unlike BASIC and LOGO, Visual Basic has practical applications that can be used in both casual and commercial environments.
Those who are technically inclined or already have a fair amount of experience with computers may be prepared for more advanced programming concepts. For years, Pascal was typically the entry language for such people, used in schools and universities to teach programming at a professional level. Nowadays more "practical" languages like C++, C#, and Java are taught, as they provide a more direct approach to learning how to develop software with tools that are more commercially viable than Pascal.
Programming is not just for nerds or geeks! Its for people who want to succeed online! Learning a software development language can benefit even those who do not specifically pursue bespoke software development as a career or hobby. Learning how to program will help you become more logical in thinking and develop a greater awareness of how computers operate. You will be able to speak more intelligently to other computer professionals you may work with throughout the course of your career.

Monday, 15 April 2013

An Overview of Software Patenting

The concept of "intellectual property" in India over the last few years has taken on some epic proportions for a number of reasons. One of the primary reasons, attributable to the growing awareness among the urban Indian population, is of the significance and, more importantly, the commercial benefits in protecting its intellectual property rights both within and outside India. And under traditional principles of intellectual property protection, patent law is to encourage scientific research, new technology and industrial progress. The fundamental principle of patent law is that the patent is granted only for an invention i.e. new and useful the said invention must have novelty and utility. The grant of patent thus becomes of industrial property and also called an intellectual property. And the computer software is a relatively new recipient of patent protection.
The term "Patent'' has its origin from the term "Letter Patent''. This expression 'Letter Patent' meant open letter and were instruments under the Great Seal of King of England addressed by the Crown to all the subjects at large in which the Crown conferred certain rights and privileges on one or more individuals in the kingdom. It was in the later part of the 19th century new inventions in the field of art, process, method or manner of manufacture, machinery and other substances produced by manufacturers were on increased and the inventors became very much interested that the inventions done by them should not be infringed by any one else by copying them or by adopting the methods used by them. To save the interests of inventors, the then British rulers enacted the Indian Patents and Design Act, 1911.


With respect to patentability of software -related inventions, it is currently one of the most heated areas of debate. Software has become patentable in recent years in most jurisdictions (although with restrictions in certain countries, notably those signatories of the European Patent Convention or EPC) and the number of software patents has risen rapidly.
MEANING OF SOFTWARE PATENTING
The term "software" does not have a precise definition and even the software industries fails to give an specific definition. But it is basically used to describe all of the different types of computer programs. Computer programs are basically divided into "application programs" and "operating system programs". Application programs are designed to do specific tasks to be executed through the computer and the operating system programs are used to manage the internal functions of the computer to facilitate use of application program.
Though the term 'Software patent' does not have a universally accepted definition. One definition suggested by the Foundation for a Free Information Infrastructure is that a software patent is a "patent on any performance of a computer realized by means of a computer program".
According to Richard Stallman, the co-developer of the GNU-Linux operating system and proponent of Free Software says, "Software patents are patents which cover software ideas, ideas which you would use in developing software.
That is Software patents refer to patents that could be granted on products or processes (including methods) which include or may include software as a significant or at least necessary part of their implementation, i.e. the form in which they are put in practice (or used) to produce the effect they intend to provide.
Early example of a software patent:
On 21st Sep 1962, a British patent application entitled "A Computer Arranged for the Automatic Solution of Linear Programming Problems" was filed. The invention was concerned with efficient memory management for the simplex algorithm, and may be implemented by purely software means. The patent was granted on August 17, 1966 and seems to be one of the first software patents.
CONCEPTUAL DIFFERENCE BETWEEN COPYRIGHT AND PATENT
Software has traditionally been protected under copyright law since code fits quite easily into the description of a literary work. Thus, Software is protected as works of literature under the Berne Convention, and any software written is automatically covered by copyright. This allows the creator to prevent another entity from copying the program and there is generally no need to register code in order for it to be copyrighted. While Software Patenting has recently emerged (if only in the US, Japan and Europe) where, Patents give their owners the right to prevent others from using a claimed invention, even if it was independently developed and there was no copying involved.
Further, it should be noted that patents cover the underlying methodologies embodied in a given piece of software. On the other copyright prevents the direct copying of software, but do not prevent other authors from writing their own embodiments of the underlying methodologies.
The issues involved in conferring patent rights to software are, however, a lot more complex than taking out copyrights on them. Specifically, there are two challenges that one encounters when dealing with software patents. The first is about the instrument of patent itself and whether the manner of protection it confers is suited to the software industry. The second is the nature of software, and whether it should be subject to patenting.

However, issues involved in conferring patent rights to software are a lot more complex than taking out copyrights on them. Specifically, there are two challenges that one encounters when dealing with software patents. The first is about the instrument of patent itself and whether the manner of protection it confers is suited to the software industry. The second is the nature of software and whether it should be subject to patenting.
a) Different Subject Matters
Copyright protection extends to all original literary works (among them, computer programs), dramatic, musical and artistic works, including films. Under copyright, protection is given only to the particular expression of an idea that was adopted and not the idea itself. (For instance, a program to add numbers written in two different computer languages would count as two different expressions of one idea) Effectively, independent rendering of a copyrighted work by a third party would not infringe the copyright.
Generally patents are conferred on any 'new' and 'useful' art, process, method or manner of manufacture, machines, appliances or other articles or substances produced by manufacture. Worldwide, the attitude towards patentability of software has been skeptical.
b) Who may claim the right to a patent /copyright?
Generally, the author of a literary, artistic, musical or dramatic work automatically becomes the owner of its copyright.
The patent, on the other hand is granted to the first to apply for it, regardless of who the first to invent it was. 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.
c) Rights conferred
Copyright law gives the owner the exclusive right to reproduce the material, issue copies, perform, adapt and translate the work. However, these rights are tempered by the rights of fair use which are available to the public. Under "fair use", certain uses of copyright material would not be infringing, such as use for academic purposes, news reporting etc. Further, independent recreation of a copyrighted work would not constitute infringement. Thus if the same piece of code were independently developed by two different companies, neither would have a claim against the other.
A patent confers on the owner an absolute monopoly which is the right to prevent others from making, using, offering for sale without his/her consent. In general, patent protection is a far stronger method of protection than copyright because the protection extends to the level of the idea embodied by a software and injuncts ancillary uses of an invention as well. It would weaken copyright in software that is the base of all European software development, because independent creations protected by copyright would be attackable by patents. Many patent applications cover very small and specific algorithms or techniques that are used in a wide variety of programs. Frequently the "inventions" mentioned in a patent application have been independently formulated and are already in use by other programmers when the application is filed.

d) Duration of protection
The TRIPS agreement mandates a period of at least 20 years for a product patent and 15 years in the case of a process patent.
For Copyright, the agreement prescribes a minimum period of the lifetime of the author plus seventy years.
JURISDICTIONS OF SOFTWARE PATENTING
Substantive law regarding the patentability of software and computer-implemented inventions, and case law interpreting the legal provisions, are different under different jurisdictions.
Software patents under multilateral treaties:
o Software patents under TRIPs Agreement
o Software patents under the European Patent Convention
o Computer programs and the Patent Cooperation Treaty
Software patenting under TRIPs Agreement
The WTO's Agreement on Trade-Related Aspects of Intellectual Property Rights (TRIPs), particularly Article 27, are subject to debate on the international legal framework for the patentability of software, and on whether software and computer-implemented inventions should be considered as a field of technology.
According to Art. 27 of TRIPS Agreement, patents shall be available for any inventions, whether products or processes, in all fields of technology, provided that they are new, involve an inventive step and are capable of industrial application. (...) patents shall be available and patent rights enjoyable without discrimination as to the place of invention, the field of technology and whether products are imported or locally produced."
However, there have been no dispute settlement procedures regarding software patents. Its relevance for patentability in the computer-implemented business methods, and software information technology remains uncertain, since the TRIPs agreement is subject to interpretation.
Software patents under the European Patent Convention
Within European Union member states, the EPO and other national patent offices have issued many patents for inventions involving software since the European Patent Convention (EPC) came into force in the late 1970s. Article 52 EPC excludes "programs for computers" from patentability (Art. 52(2)) to the extent that a patent application relates to a computer program "as such" (Art. 52(3)). This has been interpreted to mean that any invention which makes a non-obvious "technical contribution" or solves a "technical problem" in a non-obvious way is patentable even if a computer program is used in the invention.
Computer-implemented inventions which only solve a business problem using a computer, rather than a technical problem, are considered unpatentable as lacking an inventive step. Nevertheless, the fact that an invention is useful in business does not mean it is not patentable if it also solves a technical problem.
Computer programs and the Patent Cooperation Treaty
The Patent Cooperation Treaty (PCT) is an international patent law treaty, which provides a unified procedure for filing patent applications to protect inventions. A patent application filed under the PCT is called an international application or PCT application. Under the PCT, the international search and the preliminary examination are conducted by International Searching Authorities (ISA) and International Preliminary Examining Authority (IPEA).
CURRENT TREND
However, before we start hailing the advent of a new era and equating the patenting of software in India it would be well worth our while to take a pause and examine the realities of software patenting. We could do this by looking at examples of countries in which software patenting has already become the order of the day, such as in the US and Japan .
United States
The United States Patent and Trademark Office (USPTO) has traditionally not considered software to be patentable because by statute patents can only be granted to "processes, machines, articles of manufacture, and compositions of matter". i.e. In particular, patents cannot be granted to "scientific truths" or "mathematical expressions" of them. The USPTO maintained the position that software was in effect a mathematical algorithm, and therefore not patentable, into the 1980s. This position of the USPTO was challenged with a landmark 1981 Supreme Court case, Diamond v. Diehr. The case involved a device that used computer software to ensure the correct timing when heating, or curing, rubber. Although the software was the integral part of the device, it also had other functions that related to real world manipulation. The court then ruled that as a device to mold rubber, it was a patentable object. The court essentially ruled that while algorithms themselves could not be patented, devices that utilized them could.
But in 1982 the U.S. Congress created a new court i.e the Federal Circuit to hear patent cases. This court allowed patentability of software, to be treated uniformly throughout the US. Due to a few landmark cases in this court, by the early 1990s the patentability of software was well established.
Moreover, Several successful litigations show that software patents are now enforceable in the US. That is the reason, Patenting software has become widespread in the US. As of 2004, approximately 145,000 patents had issued in the 22 classes of patents covering computer implemented inventions.
Japan
Software is directly patentable in Japan. In various litigations in Japan, software patents have been successfully enforced. In 2005, for example, Matsushita won a court order barring Justsystem from infringing Matsuhita's Japanese patent 2,803,236 covering word processing software.
Indian Position
With respect to computer software, in Patents (Amendment) Act, 2002, the scope of non-patentable subject matter in the Act was amended to include the following: "a mathematical method or a business method or a computer programme per se or algorithms".
However, the recent amendment changes (Ordinance, 2004), which amends the Patents Act, 1970, has been promulgated after receiving assent from the President of India and has came into effect from 1st Jan., 2005. Apart from change in pharmaceuticals and agro chemicals, one of the seminal amendments this Ordinance seeks to bring is to permit the patenting of embedded software.
Hence, the amendment means that while a mathematical or a business method or an algorithm cannot be patented, a computer programme which has a technical application in any industry or which can be incorporated in hardware can be patented. Since any commercial software has some industry application and all applications can be construed as technical applications, obviously it opens all software patenting.

In any case, any company seeking to file a patent application for software under the Ordinance should ensure that its invention firstly, follows the three basic tests:
o Inventive Steps
o Novelty
o Usefulness
Therefore, it is important that the software sought to be protected is not merely a new version or an improvement over an existing code.
Further, in accordance with the specific requirements of the Ordinance with regard to patentability of software, the software should necessarily have a technical application to the industry or be intrinsic to or "embedded" in hardware. This is to prevent against any future litigation or claims of infringements being raised, which is a distinct probability even after a patent has been granted.
CONCLUSION
India for its part seems to have adopted the more conservative approach of the European patenting norms for software. But the Ordinance definitely has its use and relevance in today's India, particularly for our growing domestic semi- conductor industry. This, along with judicial tempering might definitely ensure a judicious use of patent protection while allowing the industry to grow through innovations and inventions, thereby, mitigating the risks of trivial patents chocking the life out of real innovations and inventions. This is the reason a patent should always be treated as a "double edged sword", to be wielded with caution and sensitivity.

Sunday, 14 April 2013

Cyber Crime


Everyone who works on a computer must be familiar with the term "Cyber Crime". Initially, when man invented computer and then the technology for communicating between computers was evolved, he would have never thought that the cyber space he is creating could be flooded with any crime i.e. cyber crime. But now almost all of us might have heard the term computer crime, cyber crime, e-crime, hi-tech crime or electronic crime which is nothing but an activity done with a criminal intent in cyber space. Simply put, it is an activity which is generally criminal in nature, where a computer or network is the source, tool, target, or place of a crime. To say in one line, "Cyber crime refers to all the activities done with criminal intent in cyberspace."
Such crime involves an information technology infrastructure, including illegal access (unauthorized access), illegal interception (by technical means of non-public transmissions of computer data to, from or within a computer system), data interference (unauthorized damaging, deletion, deterioration, alteration or suppression of computer data), systems interference (interfering with the functioning of a computer system by inputting, transmitting, damaging, deleting, deteriorating, altering or suppressing computer data), misuse of devices, forgery (ID theft), and electronic fraud.
This article intends to give an overview of Cyber Crimes since in e-life (of which we all are a part of) conventional crimes like extortion, forgery etc. are being done with the help of computers; which most of us are using for online monetary transactions.
In today's e-Age, 'Crime' has extended itself beyond physical assault or mental torture; now it also affects our e-life. E-Life means our existence & living in the cyber world. Every one of us is a part of this cyber world, directly or indirectly, since computers & internet are now an integral part of our personal & professional life. Just like any other invention, Computers & Internet are a boon to human kind if used in a right way and to the advantage of the society. However, as we all know, everything has its pros and cons and so computers & internet are not an exception. If we consider 'Cyber Crime' as virus then it won't be untrue to say this virus is corrupting man's significant development (computers and internet) which is responsible for developing civilized society for men. Cyber Crime is a menace all over the world and is the one of the most difficult & challenging to detect & investigate. You will find it interesting to note that even the official website of the Cyber Crime Investigation Cell of Crime Branch Mumbai quotes "The invisible criminal is dangerous than the visible one".
You may be wondering why one should know about Cyber Crime?
Most of us are using internet and computers for online transactions where we transmit personal information and possibly do monetary transactions. If your personal information goes in wrong hands and you become bankrupt or you start receiving absurd mails or your e-mail account gets flooded with unwanted mails; means you have become a victim of Cyber Crime.
Cyber Crime has various forms which may include hacking (illegal intrusion into a computer system without the permission of owner), phishing (pulling out the confidential information from the bank / financial institutional account holders by deceptive means), spoofing (getting one computer on a network to pretend to have the identity of another computer in order to gain access to the network), cyber stalking (following the victim by sending e-mails or entering the chat rooms frequently), cyber defamation (sending e-mails to all concerned / posting on website the text containing defamatory matters about the victim), threatening (sending threatening e-mails to victim), salami attacks (making insignificant changes which go unnoticed by the victim), net extortion, pornography (transmitting lascivious material), software piracy (illegal copying of the genuine software / programs), email bombing, virus dissemination (sending malicious software which attaches itself to other software), IPR theft, identity theft, data theft, etc.

Hacking, destroying files and data through spreading virus are the largest number of offences in the cyber world.
"Russia, China and Brazil are world leaders in cyber crime. India is fast emerging as a major hub of cyber crime, however our legal system is already in place to tackle this menace of cyber crime and to control it and punish the guilty. Cyber Crime, which we may define as "an unlawful act wherein the computer is either a tool or a target or incidental to the crime", has both civil as well as criminal remedies.
So let's talk about the remedies available against such crimes. In India, the offence of Cyber Crime is covered under Information Technology Act 2000 and under the Indian Penal Code.
Cyber Crime Cells have been established by law in major cities. These Cells function directly under the Commissioner of Police of respective cities. Central Bureau of Investigation (CBI) already has a cyber crime wing operational since 1999.
The Government has established "The Cyber Regulations Appellate Tribunal" under the Information Technology Act, 2000. The Tribunal has the same powers as are vested in a Civil Court for requiring the discovery and production of documents, receiving evidence on affidavits. But the decisions of the Tribunal can be contested by the High Court. The Information Technology Act not only applies to the offence committed in India, but it can also be used to bring offenders from foreign countries to India for trial.
Powers of Cyber Crime Cells:
Any police officer, not below the rank of a Deputy Superintendent of Police, or any other officer of the Central Government or a State Government authorised by the Central Government in this behalf may enter any public place and search and arrest without warrant any person found therein who is reasonably suspected or having committed or of committing or of being about to commit any offence under this Act.
Punishment for Cyber Crime:
A person found guilty of cyber crime shall be punishable with imprisonment for a term which may extend to three years or with fine or with both.
Salient features of the Information Technology (Amendment) Act, 2008:
The Information Technology (Amendment) Act, 2008 was enacted in October 2009.
The term "digital signature" has been replaced with "electronic signature" to make the Act more technology neutral. A new section has been inserted to define "communication device" to mean cell phones, personal digital assistance or combination of both or any other device used to communicate, send or transmit any text video, audio or image. A new section has been added to define "cyber café" as any facility from where the access to the internet is offered by any person in the ordinary course of business to the members of the public.
There is an addition of several new offences into the Act. Section 66 has now been expanded to include sections 66A, (offensive messages) 66B, (Receiving stolen computer) 66C, (Identity theft), 66D (Impersonation), 66E (Voyeurism) and 66 F (Cyber Terrorism). Section 67 has been expanded to include Sections 67A (Sexually explicit content), 67 B (Child Pornography),
In short about Cyber Terrorism In All Over The World:
Cyber terrorism is the premeditated use of disruptive activities, or the threat thereof, against computers and/or networks, with the intention to cause harm or further social, ideological, religious, political or similar objectives, or to intimidate any person in furtherance of such objectives.

Cyber terrorism can have a serious large-scale influence on significant numbers of people. It can weaken countries' economy greatly, thereby stripping it of its resources and making it more vulnerable to military attack.

Home Schooling Advantages Vs. Disadvantages

What options do parents have to combat this downward spiral? Initially, private school was thought to be the answer. As enrollment in private schools soared many parents failed to see a difference between public and private schools. The problems were still the same.

The option of home schooling has been around for a long time; however, until recently it had not been so popular. The idea of home schooling seems like a cure-all to many parents due to the advantages this type of education provides over traditional schools. Children who are home schooled can avoid many of the problems schools have become known for. For one, the environment is less threatening. Children can learn without fearing other students, aggressive or nasty teachers, and be under the constant supervision of parents. In addition, home schooling allows parents to dictate the academic course of their children. Home schooling also allows students to proceed at their own speed. If a child is weak at multiplication and division, a parent can focus lessons on those skills in favor of another skill that the child might grasp rather easily.

Home schooling is also advantageous because it keeps children away from other students that may be corruptive forces. There are many students in school who do not value learning. This is not any fault of the schools; however, it is still a painful reality. These students can lead to the destruction of a stable learning environment. Home schooling keeps children focused on learning and not on avoiding social pressures. 



It may sound like the perfect option, but there are many disadvantages of home schooling. First of all, home schooled children are usually less socialized. While schools can sometimes be the breeding ground for poor social behaviors, school is also a place where students learn to interact with others and build social skills. It seems a bit like a catch 22.

In addition, another drawback to home schooling could be implementation of an educational plan. Many parents are not qualified as teachers and may not understand what is necessary to ensure a child has access to the proper curriculum.

Finally, another disadvantage to home schooling is the necessity for parents to take full responsibility for their child's education. If you choose to home school your child there is no one for you to blame if your child does poorly. The responsibility falls completely on the parent.

There are many advantages and disadvantages to home schooling. Before you begin a home schooling plan make sure you have evaluated your ability to properly instruct your child and provide a quality learning experience. If you do not think you can handle it, you might as well send your child to school but become more involved with his or her education.

Disadvantages of Home Schooling

Home schooling is a process that requires a massive amount of time and dedication. If you want to home school your child you must be present for a large part of the day. Kids are kids. Depending on how motivated by academic success your child is, he or she may not require constant supervision. However, in many studies, parental supervision is the key behind the success of home schooling programs.

Parents must also possess instructional skills or access to someone who can teach effectively. Simply putting your child in a room with textbooks will most likely result in home schooling failure. In addition, you will have to purchase materials that public and private schools provide for students.

There is also the need to be able to serve as guidance counselor as your child may require specialized instruction due to a learning disability. Public and private schools usually provide these services with qualified individuals.



One important benefit of an academic institution is the opportunity for children to become properly socialized. Attending school with other children from all walks of life leads to the development of social skills. One of the disadvantages of home schooling is the relative isolation children have from their peers.

Many parents find comfort in blaming the educational system for the shortcomings in their child's academic performance. If you choose to home school you will be accepting full responsibility for the outcome of your child's education. This is more of a burden than it seems. Studies have shown that many home schooling ventures fail due to the fact that the home generally lacks qualified educators. Many parents have gripesabout teachers, but the fact is that they generally have to teach large classes filled with children with diverse learning needs. In addition, certified educators have taken teaching classes and have passed state examinations to receive their teaching certificates.

When you approach the issue of home schooling you must examine both sides. Sure, there are plenty of advantages, but if you forget to look into the disadvantages, you may be setting yourself up for failure

Education Loans In India


India is a developing country and is forging ahead to create a definite niche in the global economy. Education is an important factor for the development of any country. India is not far behind in an attempt to provide education to every child by granting education loans to students. All banks in India provide education loans to students for studies in India, as well as abroad. Apart from banks, there are a number of charitable institutions and other private funding associations in India that provide education loans to students.

There are a large number of Indian students who prefer to go abroad for their post-graduation studies. The loans prove to be a boon, mainly to the students whose education and stay abroad would be very costly. Some private banks grant education loans and also cover the expenses of lodging and travel. Most private banks in India offer flexible options related to education loans. Certain private banks offer very low interest rates and give various allied benefits to the borrowers, by opening a savings account for them or providing them with debit cards. Some banks also provide customized education loans, created for specific requirements. They grant secured as well as unsecured loans. Secured loans can be repaid in seven years by holding residential properties or shares as security. The unsecured loans can be repaid in four years. Various banks offer exclusive schemes on educational loans to their customers, of six months or more.
The education loans in India are mostly granted to the parents of the students, unless or until the students are eligible, above 18 years of age. Most nationalized and private banks providing education loans, take the authorization of the college or university into consideration. They do not grant loans to students who are not from approved educational institutions.

The Secret To US Department of Education Loans


If you have heard about any kind of Federal financial aid for students, you are already familiar with US Department of Education loans. The US Department of Education handles all government aid for defraying the cost of attending college in America, from grants to loans. The first thing that you will need to do to apply for US Department of Education loans is to fill out a FAFSA, or Free Application for Federal Student Aid form. FAFSA forms compare the amount of money required to attend a specific college to the amount of money that can be expected to be paid by the family of the attendee. Any difference is the amount of money eligible for student aid.

Qualifying for US Department of Education Loans
US Department of Education loans have specific qualifications that an applicant must meet to be eligible. The qualifications include US Citizenship (some non-citizens with social security numbers are also eligible), financial need, possession of a valid Social Security Number, and proof of eligibility for higher education in the form of a high school diploma, General Education Development (GED) certificate, or similar. Furthermore, applicants for US Department of Education loans must be in good financial, academic, and legal standing. In other words, they must be registered with the Selective Service if required, they must not have defaulted on a student loan in the past, they can have no record of conviction on charges of sales or possession of drugs, and they must maintain a certain grade point average (GPA) to continue to receive student loans from the Department of Education.
Types of US Department of Education Loans
There are three main possibilities when considering US Department of Education loans: grants, which are monetary gifts, student loans, and work-study programs where the money for education is earned. Only in the case of student loans
does the money need to be repaid. Most federal grants are based solely on financial need, and some are given on a first-come-first-served basis, so it is important to apply as early as possible.
Work-Study programs are not technically US Department of Education loans, but they are a federally mandated way to
receive financial aid to attend college. A number of work-study hours are specified as part of the financial aid package.
These usually involve jobs working with non-profit companies or on campus, and pay a modest salary. The money earned can be used for college tuition. True US Department of Education loans include the Perkins Loan, the Stafford Loan, and the PLUS loan for parents.
Perkins loans have a particularly low interest rate and can be paid back over a time period of as long as 10 years. There are a limited number of Perkins Loans available to each school every year. The Stafford Loan has a higher interest rate than the Perkins loan, and doesn't necessarily offer a grace period after graduation. However, there are more Stafford loans offered by the US Department of Education every year. Stafford loans are even available to students who don't have a pressing financial need. Stafford loans may be paid off over a period of as long as thirty years.
PLUS loans are the final type of US Department of Education loans. They are offered to parents of undergraduates, as opposed to the students themselves. Payments on Federal PLUS loans start two months after the money is received, and can be paid off over a ten-year term.
Mark Kessler's website offers a comprehensive free resource of college financial aid. Don't even think about paying for school until you've read this about Consolidating Student Loans, as well as Alternative Student Loans, ACS, Bad Credit, and Federal financial aid for students, including a variety student loan articles.


Higher Education Loans


Education loans are loans taken for educations purposes. Educational loans are of many kinds: according to the sponsor (federal or private), according to the beneficiary (undergraduate, continuing education, insurance loans, parent loans, payment loans), according to the course: law school, medical school, dental school, MBA, general graduate, and post graduate. There are also career loans for people who are pursuing graduate or postgraduate education on a part-time to full time basis including evening, weekend, distance learning and continuing education programs.
Higher education loans are for graduate and post graduate courses. There are certain eligibility criteria to be met for getting these loans sanctioned. The applicant should be a graduate or professional student in a degree or certificate program and should be enrolled in school at least half-time (or as determined by the school). For credit-worthy applicants, the borrower or the co-signer should have good credit, employment, and residence history of at least 2 years. They should also have proof of income and should be a US citizen or a permanent resident and has resided in the US for the past 2 years. For a credit-ready borrower, the eligibility is US citizenship or a permanent residency (have resided in the US for the past 2 years). Certain credit criteria have to be satisfied. Most of these criteria are similar for continuing education loans as well. The minimum loan amount for higher education loans is $1,000 while the maximum limit is $30,000. The minimum repayment amount is $25. Maximum repayment period is 20 years. There are also deferment options available.

These days, getting a higher educational loan has become very easy. There are online applications as well as applications through the telephone. All that is required is the social security number, date of birth, employer's name, phone number, years of employment, gross annual income (adjusted gross income for self employed individuals) and monthly rent, or mortgage payment. There are many loan programs to choose from. Repayment options are also sundry including standard repayment, graduate repayment, income-sensitive repayment, consolidation and pre-payment.
There are many loan options according to school and state. Information about these can be obtained from your school. There are also several websites that have up-to-date information about higher education loans. These also have easy options and tools such as loan calculators. Loans can be compared and even applied for online.
Education Loans provides detailed information on Education Loans, Government Education Loans, Private Education Loans, Higher Education Loans and more. Education Loans is affiliated with Consolidate College Loan

Education Loans - Meet College Expenses at Low Cost Finance


Higher education has become costlier for a student so much so that an education loan is now considered a necessity. As a consequence there are now more sources available to a student for taking education loans. Students are now in a better position of availing education loan as per their requirements.


There are two main sources of education loans. One source is the government funded loans and the other is private lenders. Usually students prefer taking education loans from government bodies as they can provide a subsidized loan. The advantage of subsidized education loans is that they are cheaper. The subsidy is provided by the Federal Government in USA and by the finance ministry in other countries. On the other hand, private lenders will charge an interest rate on education loans. There is a Federal family education loan program that is considered as most useful because it provides affordable and flexible options regarding educational loans. Under the program students are charged a very lower interest rate on education loans and students are given convenient and larger repayment duration.
Students do not have to face any problems in paying back education loans. All lenders either subsidized loan providers or private lenders, give students ample time for clearing the loan. Students are not working people and hence do not earn sufficiently for immediately starting paying back education loans. Students can start paying back federal educational loans six months after they have finished their collage education. Usually ten year repayment duration is offered for education loans. For greater educational loans the repayment duration may be larger.
Some requirements are to be followed for education loans. The student applying for education loans must have attained the age of eighteen years. If the student is applying for a private education loan then he or she is expected to bring a co-signer along with. Credit report of the student also may be required for the loan. Usually credit unions provide educational loans on taking a property of student like a vehicle as collateral.
As far as paying interest rate is concerned, a student has the option of paying or not paying during the collage education term. However if some amount is paid towards interest then it becomes a lot easier for the student to pay off the remaining amount after he has completed collage education.
Before applying to a particular lender, compare terms-conditions and interest rates of different lenders. These lenders can be approached on their web sites. Surely education loans are of a great help to student who are going for a collage education.