This blog was created in order to provide the basic knowledge about professional issues we faced when we are implementing the project "Smart Finder". The motivation for this project was the subject SCS3115 – Professional Practice. There we were ask to address social issues. We got advised from the Dr. Rasika, that doing the project like "Smart Finder" will help people than normal web site. The aim of implementing a project like "Smart Finder" which address social issue is to, learn how to apply "Code of Conduct"(Software Engineering Code of Ethics and Professional Practice).
This project is proposed as 3 persons project. As we were informed, each person have to create a blog, mentioning the professional issues we met, on the process of implementing this software product named "Smart Finder".
"Smart Finder" is an android app. When we talk about the "Smart Finder", we have to go a practical scenario. Let's assume that you went to Nuwara Eliya for trip, suddenly you got idea that "what if I can take some fresh carrot with me, when I'm going home?". But the problem is how to find out a farmer who interested in selling his fresh products on the field( Assumed considering that you don't know about the area. ). Here is the place "Smart Finder" comes to play.
Blogger's name : G.S.V.M. Ishan
Index no: 12000604
Registration no: 2012CS060
Other team members
Name : D.T.S.P. Madola
Index no: 12000833
Registration no: 2012CS083
Name : W.T.R. Epa
Index no: 12020188
Registration no: 2012/IS/018
Monday, July 13, 2015
Friday, July 10, 2015
Principal 1: PUBLIC
1.01. Accept full responsibility for their own work.
As the Software development team we take the full responsible for any security vulnerabilities or breaches happen due to software bugs or through the software. Since this software is provide under Apache License version 2.0 ( click here to read ), we do not take responsible for any damage caused while using the mobile application, installing or removing the app.
We should not use Nude picture or videos, we should not use our application to encourage terrorism, Racism or other violation activities. We should responsible the details of the people who sign-up and use our application. We should not expose their private details to the public without having the permission of the particular person.
We used below
web technologies
1.07. Consider issues of physical disabilities, allocation of resources, economic disadvantage and other factors that can diminish access to the benefits of software.
As the Software development team we take the full responsible for any security vulnerabilities or breaches happen due to software bugs or through the software. Since this software is provide under Apache License version 2.0 ( click here to read ), we do not take responsible for any damage caused while using the mobile application, installing or removing the app.
We should not use Nude picture or videos, we should not use our application to encourage terrorism, Racism or other violation activities. We should responsible the details of the people who sign-up and use our application. We should not expose their private details to the public without having the permission of the particular person.
web technologies
- HTML5
- CSS3
- JavaScript
Frameworks
Version Control
to implement "Smart Finder".
1.03. Approve software only if they have a well-founded belief that it is safe, meets specifications, passes appropriate tests, and does not diminish quality of life, diminish privacy or harm the environment. The ultimate effect of the work should be to the public good.
We tested "Smart Finder" using different type of testings. First we test the software manually then we used the Selenium ide ( http://www.seleniumhq.org/projects/ide/ ) to test the software in automated testing. We corrected the bugs we found while the process.
1.04. Disclose to appropriate persons or authorities any actual or potential danger to the user, the public, or the environment, that they reasonably believe to be associated with software or related documents.
"Smart Finder" does not require any login. Therefor you don't need to fear about login information leakage. You can download it and use it. Software updates (Farmer information updates) provide only done by the developer team. Therefor, there is minimal potential danger for users when using this software. Also no ads provides through the "Smart Finder". Therefor no risk of malicious software come through ads.
1.03. Approve software only if they have a well-founded belief that it is safe, meets specifications, passes appropriate tests, and does not diminish quality of life, diminish privacy or harm the environment. The ultimate effect of the work should be to the public good.
We tested "Smart Finder" using different type of testings. First we test the software manually then we used the Selenium ide ( http://www.seleniumhq.org/projects/ide/ ) to test the software in automated testing. We corrected the bugs we found while the process.
1.04. Disclose to appropriate persons or authorities any actual or potential danger to the user, the public, or the environment, that they reasonably believe to be associated with software or related documents.
"Smart Finder" does not require any login. Therefor you don't need to fear about login information leakage. You can download it and use it. Software updates (Farmer information updates) provide only done by the developer team. Therefor, there is minimal potential danger for users when using this software. Also no ads provides through the "Smart Finder". Therefor no risk of malicious software come through ads.
"Smart Finder" is an android based app. Since there is no special facility provided for blind personalities, they will unable to access and use this app. Since this is an android app, people will need to have android based smart phone to use the service of this app. Therefor people who have feature phones will not able use this service. Also the most of software UIs are written in English language, there are few UIs with sinhala interfaces, therefor people need to have sufficient English knowledge to use this application. Since this software provide nuder apache license version 2.0, there will be zero cost charge for this application from the users.
Thursday, July 9, 2015
Principal 2: CLIENT AND EMPLOYER
2.01. Provide service in their areas of competence, being honest and forthright about any limitations of their experience and education.
Currently we are studying for Bachelor of Science in Computer Science in University of Colombo School of Computing. Although we are undergraduates, we specialized in the currently used technologies. Since the app is general usage without login, no expert database skills or security skills is required.
2.02. Not knowingly use software that is obtained or retained either illegally or unethically.
We have used PhoneGap mobile development framework which is licensed under the apache license version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) and jQuery mobile which is licensed under the MIT license (http://opensource.org/licenses/MIT). Since there is no impact between these licenses and no restriction provide by them, market our product or to issue them free, we haven't violate any rules.
2.04. Ensure that any document upon which they rely has been approved, when required, by someone authorized to approve it.
Since we publish farmers contact details (Contact No, Address)through the App, for good deeds, it is necessary to have disclaimer notice about the consequences that could occur when details in the wrong hands. So every media that we collect the information, we put disclaimer notice.
Currently we are studying for Bachelor of Science in Computer Science in University of Colombo School of Computing. Although we are undergraduates, we specialized in the currently used technologies. Since the app is general usage without login, no expert database skills or security skills is required.
2.02. Not knowingly use software that is obtained or retained either illegally or unethically.
We have used PhoneGap mobile development framework which is licensed under the apache license version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) and jQuery mobile which is licensed under the MIT license (http://opensource.org/licenses/MIT). Since there is no impact between these licenses and no restriction provide by them, market our product or to issue them free, we haven't violate any rules.
2.04. Ensure that any document upon which they rely has been approved, when required, by someone authorized to approve it.
Since we publish farmers contact details (Contact No, Address)through the App, for good deeds, it is necessary to have disclaimer notice about the consequences that could occur when details in the wrong hands. So every media that we collect the information, we put disclaimer notice.
Saturday, July 4, 2015
Principal 3: PRODUCT
3.02. Ensure proper and achievable goals and objectives for any project on which they work or propose.
Under the product category of code conduct in software development, a very important point is ensuring the proper and achievable goals and objectives. Although our application would make large social impact, the technological implementation was not difficult for us, since we used familiar technologies. Our objective was to Implement solution to address "Buyers and farmers distance and value addition of middleman". We were able to complete the project, within the given time frame.
3.03. Identify, define and address ethical, economic, cultural, legal and environmental issues related to work projects.
We detected few issues related this project. One of main issues can be occur is privacy issue. Since we publish these contact information publicly, there may occur privacy issues such as unnecessary calls, spams, or unwanted advertisement promotions etc. The Other big issue is pressure would come from middleman. Since this is direct solution to contact farmer and buyer and cut the profit loss from both buyer and farmers sides, this would cause to economical profit lost for the middleman. The major issue will be the treats would come from them.
3.04. Ensure that they are qualified for any project on which they work or propose to work by an appropriate combination of education and training, and experience.
Our group consist of two third year Computer science undergraduates and one Information system Undergraduates. Since we had subjects such as programming III, Advanced web technologies, We have good experiences on required technologies. Also three of us have done the second year group project on different groups using web and mobile technologies.
So we ensure that we are qualify as anybody would be.
3.07. Strive to fully understand the specifications for software on which they work.
Since this is an actual social phenomena, therefor we had to conduct a research about the problem. According to travelers and farmers ideas we derived this solution would be proper solution for current situation.
3.14. Maintain the integrity of data, being sensitive to outdated or flawed occurrences.
Since this is version 1.0, we haven't detected any bugs or failures of the apps (here apps because this app is for different platform Android/windows mobile) while in the testing process. There may be errors due to corrupt downloads. We are planning to publish SHA1 and MD5 hash values of the apps, therefore users can check whether they got clean product or not. Since this app creation process happens through the phonegap, we can't configure compatibility with all versions of Android and Windows mobile. There will be issues like that we have to address, when Complains arise.
Most probably we don't expect much bug issues from technological implementation, because we uses HTML5, CSS3 and JavaScript. Since Every platform support these technologies, there won't be any issue suce as, deprecated element usage or unsupported implementations. We don't have any intention to provide updates for the current software when bugs arise. Instead we are planning to release updatedd the versions with addressing the issues, we detected or got complaining.
Thursday, July 2, 2015
Principal 4: JUDGMENT
4.04. Not engage in deceptive financial practices such as bribery, double billing, or other improper financial practices.
Our project is non-profitable project and it has no any deceptive financial practice or any hidden advertisements attached. People get the profit from this software solely be the persons you used it, or who have publish their details in our mobile apps. Although a large number of people able get advantages from this software, our sole purpose for this is charity and a vision of "Better world".
4.05. Disclose to all concerned parties those conflicts of interest that cannot reasonably be avoided or escaped.
The main considerable conflict could happen is publishing personal contact information and they goes to wrong hands. Before we add the contact details in to our apps, we get the confirmation from farmers which data should be published. Also we request photo of both sides of national identification card of the farmer. We assume here due to technical advance current society have, sending photos won't be any problem for the farmers.
Our project is non-profitable project and it has no any deceptive financial practice or any hidden advertisements attached. People get the profit from this software solely be the persons you used it, or who have publish their details in our mobile apps. Although a large number of people able get advantages from this software, our sole purpose for this is charity and a vision of "Better world".
4.05. Disclose to all concerned parties those conflicts of interest that cannot reasonably be avoided or escaped.
The main considerable conflict could happen is publishing personal contact information and they goes to wrong hands. Before we add the contact details in to our apps, we get the confirmation from farmers which data should be published. Also we request photo of both sides of national identification card of the farmer. We assume here due to technical advance current society have, sending photos won't be any problem for the farmers.
Tuesday, June 16, 2015
Principal 5: MANAGEMENT
5.01 Ensure good management for any project on which they work, including effective procedures for promotion of quality and reduction of risk.
As Work break down we used following methodology. Since I and D.T.S.P. Madola are computer science undergraduates, we took the responsible for creating the proposed application. Since W.T.R. Epa is a information system undergraduate she took the responsible for requirement gathering. After gathering the Requirements we got together and discussed about how to improve the application. When we were building the application we created repository in github (click here) for version controlling purposes.
5.02. Ensure that software engineers are informed of standards before being held to them.
As software engineers we were well aware of what we have to create. Since we have no actual client we could not use any agile methodologies for the project. So we use the waterfall model as our software development methodology.
5.08. Not unjustly prevent someone from taking a position for which that person is suitably qualified.
When we considered of sharing work load we took the part that we are have potential with. No body forcefully others part by mentioning that it was easy or else. We had our respect to each other and we only had the professional affairs only.
As Work break down we used following methodology. Since I and D.T.S.P. Madola are computer science undergraduates, we took the responsible for creating the proposed application. Since W.T.R. Epa is a information system undergraduate she took the responsible for requirement gathering. After gathering the Requirements we got together and discussed about how to improve the application. When we were building the application we created repository in github (click here) for version controlling purposes.
5.02. Ensure that software engineers are informed of standards before being held to them.
As software engineers we were well aware of what we have to create. Since we have no actual client we could not use any agile methodologies for the project. So we use the waterfall model as our software development methodology.
5.08. Not unjustly prevent someone from taking a position for which that person is suitably qualified.
When we considered of sharing work load we took the part that we are have potential with. No body forcefully others part by mentioning that it was easy or else. We had our respect to each other and we only had the professional affairs only.
Friday, June 12, 2015
Principal 6: PROFESSION
6.04. Support, as members of a profession, other software engineers striving to follow this Code.
We were about to start our career life and some point in our life we will hold the title "Software engineer". Therefor we should have the right to bear that title. So we should value the software code of conduct and follow it as best practice to gain out the best out of us. So this was a great opportunity for us to practice "software engineer code of conduct".
6.10. Avoid associations with businesses and organizations which are in conflict with this code.
We have used software, framework and technologies which have no license conflict with each others. Since we have published our code in github, it's inherently became open source code. We decided to publish this software under Apache license version 2.0 so any one interested can use the code as they will.
We were about to start our career life and some point in our life we will hold the title "Software engineer". Therefor we should have the right to bear that title. So we should value the software code of conduct and follow it as best practice to gain out the best out of us. So this was a great opportunity for us to practice "software engineer code of conduct".
6.10. Avoid associations with businesses and organizations which are in conflict with this code.
We have used software, framework and technologies which have no license conflict with each others. Since we have published our code in github, it's inherently became open source code. We decided to publish this software under Apache license version 2.0 so any one interested can use the code as they will.
Tuesday, June 9, 2015
Principal 7: COLLEAGUES
7.03. Credit fully the work of others and refrain from taking undue credit.
In our project we have mentioned about everything done by the members. Nobody has taken credit for others works.
7.05. Give a fair hearing to the opinions, concerns, or complaints of a colleague.
Different people have different views about a same thing. In our project everybody had a chance to express their ideas about the process. We used Facebook group chat and small meetings to discuss about the process. So everybody had a fair chance to give their opinions, and other members liked to hear them without ignorance.
In our project we have mentioned about everything done by the members. Nobody has taken credit for others works.
7.05. Give a fair hearing to the opinions, concerns, or complaints of a colleague.
Different people have different views about a same thing. In our project everybody had a chance to express their ideas about the process. We used Facebook group chat and small meetings to discuss about the process. So everybody had a fair chance to give their opinions, and other members liked to hear them without ignorance.
Tuesday, June 2, 2015
Principal 8: SELF
8.02. Improve their ability to create safe, reliable, and useful quality software at reasonable cost and within a reasonable time.
When we were developing the product, PhoneGap was the only unfamiliar technology we used. Since we are familiar with other technology we had the opportunity to create safe and useful product, within given time.
8.06 Improve their knowledge of this Code, its interpretation, and its application to their work.
This is the first time we got to follow the software engineering, code of ethics and I personally think this exposure will be a valuable when we go through our career life.
8.05. Improve their knowledge of relevant standards and the law governing the software and related documents on which they work.
When we were developing "Smart Finder", we get to know about software licenses and their usages. As we are going to be software engineers this knowledge will very helpful as Software engineers or we are going to start startup. Also since this product has a small bad consequences we studied about the laws that could relate to this through our friend in Faculty of Law, University of Colombo.
When we were developing the product, PhoneGap was the only unfamiliar technology we used. Since we are familiar with other technology we had the opportunity to create safe and useful product, within given time.
8.06 Improve their knowledge of this Code, its interpretation, and its application to their work.
This is the first time we got to follow the software engineering, code of ethics and I personally think this exposure will be a valuable when we go through our career life.
8.05. Improve their knowledge of relevant standards and the law governing the software and related documents on which they work.
When we were developing "Smart Finder", we get to know about software licenses and their usages. As we are going to be software engineers this knowledge will very helpful as Software engineers or we are going to start startup. Also since this product has a small bad consequences we studied about the laws that could relate to this through our friend in Faculty of Law, University of Colombo.
Monday, June 1, 2015
Apache License Version 2.0
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
- You must give any other recipients of the Work or Derivative Works a copy of this License; and
- You must cause any modified files to carry prominent notices stating that You changed the files; and
- You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
- If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
Thursday, May 28, 2015
REFERENCES
We research on the internet for example Code of Conduct guidelines and we found that Software Engineering Code of Ethics and Professional Practice (Version 5.2) as recommended by the ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices and jointly approved by the ACM and the IEEE-CS as the standard for teaching and practicing software engineering is better than other code of ethics in the internet
- https://www.acm.org/about/se-code
- http://hrcouncil.ca/hr-toolkit/code-of-conduct.cfm
- http://www.businessballs.com/codeofpractice.htm
- https://en.wikipedia.org/wiki/Code_of_conduct
- http://www.itk.ilstu.edu/faculty/bllim/itk178/Software%20Engineering%20Code%20of%20Ethics,%20Version%203_0.htm
- http://www.apache.org/licenses/LICENSE-2.0
Subscribe to:
Posts (Atom)