Thursday, May 24, 2012

Are Microsoft, Apple, Facebook and Google evil?

This is an interesting question. What evil means when we are talking about huge corporations?
I believe this has to do more with how the large public perceive a certain corporation or a certain brand,  how large was the impact of the lawsuits, litigation, defamation, intellectual property etc.

I will try next to explore some of the "bad and ugly" from the most famous high tech companies which I believe can set each and every company in its own evil corner. Next are some well known facts:

  1. United States v. Microsoft (1998 - 2006) - it alleged that Microsoft abused monopoly power on Intel-based personal computers in its handling of operating system sales and web browser sales. The issue central to the case was whether Microsoft was allowed to bundle its flagship Internet Explorer (IE) web browser software with its Microsoft Windows operating system. As a result of this trial Microsoft was not severely punished but it acquired the image of the ruthless monopoly.
  2. Apple and AT&T Mobility antitrust class action - In the class action filed in 2008 against Apple, Inc. and AT&T Mobility In re Apple & AT&T Mobility Antitrust Litigation, the plaintiffs claim that Apple and AT&T illegally restrained competition, locked consumers into agreements with AT&T, and punished consumers if they tried to leave. In their complaint filed with the court, the plaintiffs alleged violations of the Sherman Antitrust Act, breach of warranty under the Magnuson–Moss Warranty Act, and other violations of consumer protection laws; the plaintiffs also alleged that these violations occurred when consumers were offered iPhones by Apple only if they signed a two-year service agreement with AT&T Mobility, but that unknown to consumers at the time of purchasing the iPhones, the two companies agreed to technologically restrict voice and data service in the aftermarket for continued voice and data services after the consumers' initial two-year service period expired, while at the same time continuing to share revenue stemming from provision of voice and data services to iPhone users.
  3. U.S. Files Antitrust Lawsuit Against Apple, Hachette (2012) - The U.S. sued Apple Inc. (AAPL), Hachette SA, HarperCollins, Macmillan, Penguin and Simon & Schuster in New York district court, claiming the publishers colluded to fix eBook prices.
  4. Google Possible ties to the CIA and NSA - in February 2010 Google was reported to be working on an agreement with the NSA to investigate recent attacks against its network. And, while the deal did not give NSA access to Google's data on users’ searches or e-mail communications and accounts and Google was not sharing proprietary data with the agency, privacy and civil rights advocates were concerned.
    In October 2004 Google acquired Keyhole, a 3D mapping company. In February 2004, before its acquisition by Google, Keyhole received an investment from In-Q-Tel, the CIA's investment arm.[60] And in July 2010 it was reported that the investment arms of both the CIA (In-Q-Tel) and Google (Google Ventures) were investing in Recorded Future, a company specializing in predictive analytics—monitoring the web in real time and using that information to predict the future. And, while private corporations have been using similar systems since the 1990s, the involvement of Google and the CIA with their large data stores raises privacy concerns.
    In 2011, a federal district court judge in the United States turned down a Freedom of Information Act request, submitted by the Electronic Privacy Information Center. In May 2012, a Court of Appeals upheld the ruling. The request attempted to disclose NSA records regarding the 2010 cyber-attack on Google users in China. The NSA stated that revealing such information would make the US Government information systems vulnerable to attack. The NSA refused to confirm or deny the existence of the records, or the existence of any relationship between the NSA and Google.
  5. Google Buzz - on February 9, 2010, Google launched Google Buzz, Google's microblogging service. Anyone with a Gmail account was automatically added as a contact to pre-existing Gmail contacts, and had to opt out if they did not wish to participate.The launch of Google Buzz as an "opt-out" social network immediately drew criticism for violating user privacy because it automatically allowed Gmail users' contacts to view their other contacts.
  6. Apple iPod, iTunes antitrust litigation - The case In re Apple iPod iTunes Antitrust Litigation was filed as a class action in 2005 claiming Apple violated the U.S. antitrust statutes in operating a music-downloading monopoly that it created by changing its software design to the proprietary FairPlay encoding in 2004, resulting in other vendors' music files being incompatible with and thus inoperable on the iPod. Apple has de facto monopoly on the iPod music.
  7. Google "don't be evil" - this corporate motto started as an albatross and ended up as a boomerang as the company slowly monopolized the online advertizing.
  8. Facebook cooperation with government search requests - government authorities rely on Facebook to investigate crimes and obtain evidence to help establish a crime, provide location information, establish motives, prove and disprove alibis, and reveal communications even without warrant.
  9. Microsoft censorship in China - Microsoft has been cooperating with Chinese government in implementing an Internet censorship. Microsoft has been criticized by human rights advocates such as Human Rights Watch and media groups such as Reporters Without Borders.
  10. Labor Group Finds Poor Working Conditions at Apple Supplier Foxconn (2012) - An investigation by the Fair Labor Association into factories operated by Apple supplier Foxconn in China found poor working conditions and worker abuse, leading Foxconn to pledge it will make improvements.
  11. Google Book Search settlement gives Google a virtual monopoly over literature - the Authors Guild -- which represents a measly 8000 writers -- brought a class action against Google on behalf of all literary copyright holders, even the authors of the millions of "orphan works" whose rights holders can't be located. Once that class was certified, whatever deal Google struck with the class became binding on every work of literature ever produced. The odds are that this feat won't ever be repeated, which means that Google is the only company in the world that will have a clean, legal way of offering all these books in search results.

    Now my final question here is; who is more evil than others?  
    My personal belief here is that profits and power are all that matters for a huge corporation.



Thursday, May 3, 2012

Billing Open Sources Review

I needed to find an open source billing system for one of the projects that I am working on. I've investigated a number of current open source projects.
I was interested in basic functionality like: invoices, orders, customers, estimates, orders, services, pricelists, payment, discounts, currencies etc. I wanted to find a reliable open source project to use and to contribute.

Criteria used to analyze the applications was: open source software evaluation
 
I've looked at SIWAPP, AgileBill, Amberdms Billing System, Freeside, CitrusDB, Bamboo Invoice, Simple Invoices.

SIWAPP is a new PHP project in beta stages and IE is not recommended.

AgileBill has no documentation, only one active developer.

Amberdms does not support all platforms, very little information.

Freeside is a Perl project and it has a bad UI.

CitrusDB is a PHP project maintained by one developer and the coding standards are a joke.

Bamboo Invoice is a PHP project in beta stages, has little documentation  and I could not find the source code.

Simple Invoices this is a PHP project, it does not contains all the functionality I was looking for.

Most of the projects are written in PHP. They are meteoric projects; started with enthusiasm, not very professional and lingering through years.

I could find only one that passed my criterias: JBilling.

JBilling looked very promising from my initial analysis. This project started in 2006, it has a mature well established codebase. It has documentation and coding standards. It is a web application Java based and uses standard Java frameworks. It has a number of developers and the code shows sustained activity.
It contains about 100K lines of Java and SQL code, which means that this is a medium size project. It has a fair amount of comments into the code.
It supports all major browsers and it is OS and database independent. Can run in most of the contemporary application servers that can run with JTA or local transactions, it requires a Message Queue implementation.

I've downloaded and installed the application as documented. The installation was very simple as it required JRE and the instructions were good. I was able to start checking this product functionality in less than 10 minutes.
The UI is very simple and intuitive; I was able to find very easy all the features that I was interested in. This was an unexpected well designed UI for an open source.

My next step was to obtain the latest code and to try to compile and deploy. One thing caught my attention when I was reading the development instructions: it requires Grails 1.3.4 (released sometimes in 2010). The latest Grails version is 2.0.3 released on 3rd April 2012. The latest minor version from version 1 is 1.3.8 released on 29 March 2012.
I was not able to compile using the instructions and the reasons were:
  • Could not find all the dependencies for Grails 1.3.4
  • Upper versions of Grails were not supported
  • The code has dependencies on JbillingAPI and JbillingAPIFactory which are supplied only with EE
Customer care functionality is only available for EE.
This is a Catch 22 situation: the application is open source but it has some crucial missing parts so you have to buy...

So much with the open sources billing systems...

Update May 2013:
JBilling was acquired by AppDirect see article. Since there was no code change.

My personal opinion is: there is no feasible open source billing system and one should check commercial billing systems with extensive API. Check my analysis regarding the commercial billing systems (it is coming soon...).